ブログ

JSONフォーマット完全ガイド:構造・構文・ベストプラクティス

JSON(JavaScript Object Notation)は、モダンなWeb開発で最も広く使われているデータ交換フォーマットです。API通信から設定ファイル、データ保存まで、JSONはあらゆる場面で活躍しています。このガイドでは、JSONの基本構造から実践的なTipsまで、必要な知識をすべて網羅します。

JSONとは?

JSONは、2001年にDouglas Crockfordが提案した軽量なデータ交換フォーマットです。人間が読み書きしやすく、機械が解析・生成しやすいよう設計されています。RFC 8259として標準化されており、特定のプログラミング言語に依存しません。

JSONのデータ型

JSONは6種類のデータ型をサポートしています。

1. 文字列(String)

ダブルクォート(")で囲む必要があります。シングルクォートは使用できません。

{
"name": "山田太郎",
"message": "改行は \\n を使います"
}

2. 数値(Number)

整数と浮動小数点数の両方をサポートします。クォートなしで記述します。

{
"age": 30,
"pi": 3.14159,
"scientific": 1.5e10
}

3. 真偽値(Boolean)

true または false のみ使用可能で、小文字でクォートなしで記述します。

{
"isActive": true,
"isDeleted": false
}

4. null

空の値を表します。小文字の null のみ有効です。

{
"middleName": null
}

5. オブジェクト(Object)

波括弧 {} で囲み、キーと値のペアをカンマで区切ります。キーは必ず文字列でなければなりません。

{
"user": {
"id": 1,
"name": "田中開発",
"email": "tanaka@example.com"
}
}

6. 配列(Array)

角括弧 [] で囲み、要素をカンマで区切ります。異なる型の値を混在させることもできます。

{
"tags": ["javascript", "json", "web"],
"mixed": [1, "two", true, null]
}

よくある間違い

末尾のカンマ

JavaScriptでは許可されていますが、JSONでは禁止されています。

// 誤り
{ "a": 1, "b": 2, }
// 正しい
{ "a": 1, "b": 2 }

コメント

JSONはコメントをサポートしていません。///* */ も使用できません。

シングルクォート

キーと文字列値は必ずダブルクォートを使用してください。

// 誤り
{ 'name': 'test' }
// 正しい
{ "name": "test" }

JSONフォーマットが重要な理由

可読性

適切なインデントと改行を使ったJSONは、構造が一目で把握できます。これによりデバッグ時間を大幅に短縮できます。

ファイルサイズの最適化

本番環境では、空白文字を削除したminified JSONがネットワーク転送量を削減します。大きなAPIレスポンスでは、30〜50%のサイズ削減につながることもあります。

一貫性

チームプロジェクトでは、インデントルール(スペース2つ vs スペース4つ)を統一することで、コードレビューやバージョン管理がスムーズになります。

実践的なTips

  1. APIレスポンスのデバッグ: Beautifierを使ってAPIレスポンスをフォーマットすることで、データ構造をすばやく把握できます。
  2. 設定ファイルの管理: package.jsontsconfig.json などの設定ファイルを常に適切にフォーマットしておきましょう。
  3. データバリデーション: 他のシステムにJSONを渡す前に、必ずバリデーションを行いましょう。
  4. 大きなファイルの探索: 大きなJSONファイルはツリービューを使うと構造を簡単に確認できます。

まとめ

JSONはシンプルですが、正しく使うにはルールを知る必要があります。JSONKitのBeautifyツールを使えば、フォーマット・minify・バリデーションをひとつの場所でまとめて行えます。