よろずやIT
プログラミング

JSONとは?書き方の基本ルールと、よくあるエラーの直し方をやさしく解説

執筆・監修:よろずやIT編集部|編集方針を見る

結論:まずここだけ読めばOK

詳しい手順・原因は、この下で解説しています。

プログラミングのイラスト

JSONは「データの書き方のルール」

JSON(ジェイソン)は「JavaScript Object Notation」の略で、データを決まった書き方で表現するための書式です。Webサービスが返すデータや、アプリの設定ファイルなど、さまざまな場面で使われています。

特徴は、人が読んでも内容が分かりやすく、プログラムも扱いやすいことです。たとえば、人の情報を表すと、次のようになります。

{
  "name": "山田太郎",
  "age": 30,
  "isMember": true,
  "hobbies": ["読書", "散歩"],
  "address": {
    "city": "千葉市",
    "zip": "260-0000"
  }
}

「名前(キー)」と「値」をコロンで結んだペアを、カンマで区切って並べているだけです。

基本ルール

全体を波かっこ { } で囲む

データのまとまり(オブジェクト)は、{ } で囲みます。中には、「"キー": 値」のペアを、カンマで区切って並べます。

キーは必ずダブルクォートで囲む

キーの名前は、必ず「"」(ダブルクォート)で囲みます。「'」(シングルクォート)は使えません。

使える値の種類は6つ

種類 例 説明
文字列 "こんにちは" ダブルクォートで囲む
数値 30、3.14 引用符は付けない
真偽値 true、false 小文字で書く。引用符は付けない
null null 「値がない」を表す
配列 ["読書", "散歩"] 複数の値を、[ ] の中に並べる
オブジェクト { "city": "千葉市" } { } の中に、キーと値のペアを並べる

配列やオブジェクトは、入れ子にできます。上の例では、「address」の値が、さらにオブジェクトになっています。

よくあるエラーと直し方

JSONは、ルールが厳密なため、少しの書き間違いでもエラーになります。初心者がつまずきやすい点をまとめます。

よくあるミス 間違った例 正しい例
最後の項目の後ろにカンマ { "a": 1, "b": 2, } { "a": 1, "b": 2 }
シングルクォートを使う { 'a': 1 } { "a": 1 }
キーを引用符で囲まない { a: 1 } { "a": 1 }
コメントを書く // メモ 書けない(別の項目で代用)
カンマの付け忘れ { "a": 1 "b": 2 } { "a": 1, "b": 2 }
true を大文字で書く { "ok": True } { "ok": true }

エラーが出た時は、エラーメッセージに書かれた「行」や「位置」の、少し前の行を確認すると、原因が見つかりやすくなります。カンマの付け忘れや、閉じ忘れの括弧は、エラーの位置より前にあることが多いためです。

JSONはどこで使われている?

APIの設計方式については、RESTとGraphQLの違いの記事も参考になります。

JSONを書く・確認する時のコツ

振り返ると

JSONは、「名前と値のペア」を決まったルールで書くだけの、シンプルな書式です。ルールが厳密なぶん、カンマや引用符の小さなミスでエラーになりますが、よくあるミスのパターンを知っておけば、落ち着いて原因を探せます。

関連記事:YAMLとは/変数とは

あわせて読みたい:辞書(dict)型とは

PRWeb API設計実践入門──API仕様ファーストによるテスト駆動開発 [ 柴田 芳樹 ]

Web API設計実践入門──API仕様ファーストによるテスト駆動開発 [ 柴田 芳樹 ]

¥2,860

楽天で見る
SHAREXLINEはてブ

よくある質問

Q.JSONとJavaScriptのオブジェクトは同じものですか?

A.見た目はよく似ていますが、同じではありません。JSONは『データを文字列として表現するための書式』で、キーを必ずダブルクォートで囲む、コメントを書けないなど、より厳しいルールがあります。名前に『JavaScript』と入っていますが、多くのプログラミング言語で扱えます。

Q.JSONにコメントを書くことはできますか?

A.標準のJSONでは、コメントを書くことはできません。コメントを書くと、エラーになります。説明を残したい場合は、説明用の項目(例:"note")を別に用意する方法や、コメントを書けるYAMLなど別の書式を使う方法があります。

Q.JSONとYAMLは、どう使い分けますか?

A.JSONは、プログラム同士のデータのやり取りに向いています。YAMLは、人が読み書きすることが多い設定ファイルに向いていて、コメントも書けます。どちらがよいかは、読み手と用途で決まります。YAMLの詳しい解説は[YAMLとは](/posts/yaml-toha)の記事をご覧ください。

Q.JSONの中に、日本語は書けますか?

A.書けます。文字コードがUTF-8であれば、日本語をそのまま値として記述できます。文字化けする場合は、保存時の文字コードを確認してください。

関連記事

最新のIT関連書籍 トップ10

PR / 楽天市場の売れ筋ランキングを定期的に取得しています。価格は変動する場合があるため、購入前に各ストアでご確認ください。