JSON(JavaScript Object Notation)は、ウェブ上で最もよく使われるデータ交換形式です。API が返し、設定ファイルで使われ、ログにも溢れています。名前に「JavaScript」とありますが、実際には言語非依存で、Python・Go・Java などほぼすべての言語が読み書きできます。5 分で押さえましょう。
基本の構成要素
JSON は数種類の型だけで組み立てられます:
- オブジェクト — 波括弧で囲んだキー/値の組:
{ "name": "Ada", "age": 36 } - 配列 — 角括弧で囲んだ順序付きリスト:
[1, 2, 3] - 文字列 — ダブルクォートのテキスト:
"hello" - 数値 —
42、3.14、-7(クォートなし) - 真偽値 —
trueまたはfalse - null — 明示的な空の値
オブジェクトと配列は任意の深さで入れ子にでき、これで複雑なデータを表現します。
簡単な例
{
"user": "ada",
"active": true,
"roles": ["admin", "editor"],
"profile": { "age": 36, "city": "London" }
}
文字列・真偽値・文字列の配列・入れ子のオブジェクトを含む 1 つのオブジェクトです。
つまずきやすいルール
「無効な JSON」エラーの多くは、次の少数のミスから来ます:
- 末尾のカンマ。
[1, 2, 3,]は JavaScript では有効ですが JSON では無効です。最後の項目の後のカンマを消しましょう。 - シングルクォート。 JSON はキーも文字列値もダブルクォートが必須です。
{'name': 'Ada'}は無効で、{"name": "Ada"}にします。 - クォートのないキー。
{name: "Ada"}は JavaScript のオブジェクトリテラルで、JSON ではありません。キーはクォート付き文字列にします。 - コメント。 JSON にコメント構文はありません。
// このようには解析エラーになります。 - 値の型の誤り。 文字列にしたいのでなければ、数値と真偽値はクォートで囲まないでください。
壊れた JSON をすばやく直す
コードが解析エラーを出したら、最速の解決法はドキュメントをバリデーターに通すことです。JSON 整形ツールに貼り付けると、構文が誤っていればおおよその位置と理由を示します。正しくなったら「整形」で構造を見やすく、「圧縮」でネットワーク送信前に小さくできます。
JSON を使うべきとき・そうでないとき
JSON は設定や API のペイロードに最適です。一方、非常に大きなデータセット(ストリーミングやバイナリ形式のほうが効率的)や、コメントが必要なドキュメント(YAML や TOML のほうが親切)にはやや不向きです。とはいえ大半のウェブ作業では JSON が共通言語であり、これであなたも流暢に読めるようになりました。
JSON を整えてみませんか?無料の JSON 整形ツールをお試しください。すべてブラウザ内で動作し、データは送信されません。