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:Webサービスとデータをやり取りする時の、返答の形式として使われる。仕組みはAPIとはで解説しています
- 設定ファイル:アプリや開発ツールの設定を記述する
- データの保存:アプリが、ちょっとした情報をテキストで保存する
APIの設計方式については、RESTとGraphQLの違いの記事も参考になります。
JSONを書く・確認する時のコツ
- 書いたJSONは、「JSON チェッカー」「JSON バリデーター」などのツールで確認できます(個人情報や機密情報を含むデータは、外部のサイトに貼り付けないよう注意してください)
- 長いJSONは、インデント(字下げ)を付けて整形すると、構造が見やすくなる
- 文字コードは、基本的にUTF-8にそろえる。化けた場合の対処は文字化けの直し方で解説しています
振り返ると
JSONは、「名前と値のペア」を決まったルールで書くだけの、シンプルな書式です。ルールが厳密なぶん、カンマや引用符の小さなミスでエラーになりますが、よくあるミスのパターンを知っておけば、落ち着いて原因を探せます。
あわせて読みたい:辞書(dict)型とは