学習
コース
課題
アンケート & クイズ
ゲーム
ヘルプ
スケジュール
コミュニティ
ユーザー
フォーラム
チャット
記事
成功事例
アクティビティ
レビュー
サブスクリプション
ライトテーマ
レッスン
レビュー
私たちについて
開始
学習開始
今すぐ学習を始める
学習の進捗
コース
クエストマップ
レッスン
Java 25
Java 25
レベル 46
JSON の基礎:構造・構文・利点
JAVA 25 SELF
レベル 46,
レッスン 0
データ交換フォーマット JSON への簡潔で現代的な入門:それは何か、なぜ
REST API
のデファクトスタンダードになったのか。基本構造 — オブジェクト
{ }
と配列
[ ]
、許可される型(文字列
"..."
、数値、ブール値
true
/
false
、
null
)、ネスト、XML との比較、JSON ↔ Java の対応(コレクション
Map<K, V>
、
HashMap<K, V>
)。実用例とよくあるミス:シングルクォート、余分なカンマ、
undefined
、先頭ゼロの数値。
Jackson — JSONの読み書き、アノテーション
JAVA 25 SELF
レベル 46,
レッスン 1
Jackson は Java における JSON 取り扱いのデファクトスタンダードです。基本的なシリアライズ/デシリアライズは
ObjectMapper
で、さらに
@JsonProperty
、
@JsonIgnore
、
@JsonInclude
、
@JsonFormat
といったアノテーションで細かく制御できます。講義では、依存関係の追加(
jackson-databind
)、オブジェクト/コレクションの読み書き、プリティプリント、日付の扱い、そして典型的な落とし穴を扱います。特に
TypeReference
を使ったジェネリクス、POJO の要件(引数なしコンストラクタ、ゲッター/セッター)を取り上げます。
Gson — シリアライズとデシリアライズ、設定
JAVA 25 SELF
レベル 46,
レッスン 2
この講義では Google の
Gson
ライブラリを解説します。
toJson
/
fromJson
を使ったクイックスタート、
TypeToken<>
によるコレクションのデシリアライズ、
GsonBuilder
(
setPrettyPrinting
、
serializeNulls
、
setDateFormat
)を用いた柔軟な設定を紹介します。さらに、
@SerializedName
、
@Expose
、バージョニングの
@Since
/
@Until
、独自アダプター(
TypeAdapter
と
registerTypeAdapter
)を扱い、最後に
Jackson
との比較と典型的なエラーも解説します。
動的なデータ構造の扱い:Map, List, JsonNode
JAVA 25 SELF
レベル 46,
レッスン 3
JSON の構造が事前に不明だったり頻繁に変化する場合、堅い Java クラスではなく、汎用コンテナで扱う方が便利です:
Map
、
List
、そして JSON ツリー。本講義では、
ObjectMapper
を使ってデータを
Map<String, Object>
や
List
に読み込む方法、
JsonNode
とその
get
/
path
/
asText()
で安全にツリーをたどる方法、さらに
Gson
による
JsonElement
、
JsonObject
、
JsonArray
を使った代替も解説します。最後に、設定の抽出の実践と典型的なエラーの整理で締めくくります。
JSON の検証: JSON Schema と検証エラー
JAVA 25 SELF
レベル 46,
レッスン 4
デシリアライズ前に、
JSON
形式の入力データをなぜ・どのように検証するのか。
JSON Schema
(キー
type
、
properties
、
required
、
format
)でデータ契約を定義し、Java では
everit-org/json-schema
ライブラリで検証します(
Schema
へのスキーマ読み込み、
validate
の呼び出し)。
ValidationException
を適切に処理し、ユーザーや API 向けに分かりやすいエラーメッセージを組み立てます。
Please enable JavaScript to continue using this application.