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
- APIレスポンスのデバッグ: Beautifierを使ってAPIレスポンスをフォーマットすることで、データ構造をすばやく把握できます。
- 設定ファイルの管理:
package.jsonやtsconfig.jsonなどの設定ファイルを常に適切にフォーマットしておきましょう。 - データバリデーション: 他のシステムにJSONを渡す前に、必ずバリデーションを行いましょう。
- 大きなファイルの探索: 大きなJSONファイルはツリービューを使うと構造を簡単に確認できます。
まとめ
JSONはシンプルですが、正しく使うにはルールを知る必要があります。JSONKitのBeautifyツールを使えば、フォーマット・minify・バリデーションをひとつの場所でまとめて行えます。