メインコンテンツへスキップ

← ブログ一覧へ

JSON とは?構造とよくあるエラーを 5 分で理解する

JSON(JavaScript Object Notation)は、ウェブ上で最もよく使われるデータ交換形式です。API が返し、設定ファイルで使われ、ログにも溢れています。名前に「JavaScript」とありますが、実際には言語非依存で、Python・Go・Java などほぼすべての言語が読み書きできます。5 分で押さえましょう。

基本の構成要素

JSON は数種類の型だけで組み立てられます:

  • オブジェクト — 波括弧で囲んだキー/値の組:{ "name": "Ada", "age": 36 }
  • 配列 — 角括弧で囲んだ順序付きリスト:[1, 2, 3]
  • 文字列ダブルクォートのテキスト:"hello"
  • 数値423.14-7(クォートなし)
  • 真偽値true または false
  • null — 明示的な空の値

オブジェクトと配列は任意の深さで入れ子にでき、これで複雑なデータを表現します。

簡単な例

{
  "user": "ada",
  "active": true,
  "roles": ["admin", "editor"],
  "profile": { "age": 36, "city": "London" }
}

文字列・真偽値・文字列の配列・入れ子のオブジェクトを含む 1 つのオブジェクトです。

つまずきやすいルール

「無効な JSON」エラーの多くは、次の少数のミスから来ます:

  1. 末尾のカンマ。 [1, 2, 3,] は JavaScript では有効ですが JSON では無効です。最後の項目の後のカンマを消しましょう。
  2. シングルクォート。 JSON はキーも文字列値もダブルクォートが必須です。{'name': 'Ada'} は無効で、{"name": "Ada"} にします。
  3. クォートのないキー。 {name: "Ada"} は JavaScript のオブジェクトリテラルで、JSON ではありません。キーはクォート付き文字列にします。
  4. コメント。 JSON にコメント構文はありません。// このように は解析エラーになります。
  5. 値の型の誤り。 文字列にしたいのでなければ、数値と真偽値はクォートで囲まないでください。

壊れた JSON をすばやく直す

コードが解析エラーを出したら、最速の解決法はドキュメントをバリデーターに通すことです。JSON 整形ツールに貼り付けると、構文が誤っていればおおよその位置と理由を示します。正しくなったら「整形」で構造を見やすく、「圧縮」でネットワーク送信前に小さくできます。

JSON を使うべきとき・そうでないとき

JSON は設定や API のペイロードに最適です。一方、非常に大きなデータセット(ストリーミングやバイナリ形式のほうが効率的)や、コメントが必要なドキュメント(YAML や TOML のほうが親切)にはやや不向きです。とはいえ大半のウェブ作業では JSON が共通言語であり、これであなたも流暢に読めるようになりました。

JSON を整えてみませんか?無料の JSON 整形ツールをお試しください。すべてブラウザ内で動作し、データは送信されません。