レッスン 2
JSON 構文の基本
括弧、カンマ、コロン、および有効なドキュメントが守るべきルール。
すべての JSON ドキュメントは、少数の句読点ルールから成り立っています。これを身につけると、無効なファイルの修正がずっと楽になります。
2 つの構造形式
JSON の値は次のいずれかです。
- オブジェクト —
{}で囲み、キーと値のペアを含む - 配列 —
[]で囲み、順序付きの値の一覧を含む
ファイルは単一のオブジェクト、単一の配列、または(あまり一般的ではありませんが)"hello" や 42 のような単一のプリミティブ値になり得ます。
オブジェクト: キーとコロン
オブジェクト内の各エントリは次の形です。
"key": value
ルール:
- キーは必ずダブルクォート付き文字列
- コロン
:がキーと値を区切る - カンマ
,がエントリを区切る — 最後のエントリの後には付けない
{
"id": 1,
"label": "primary"
}
配列: 順序付きの値
配列はキーなしで値を並べます。
["red", "green", "blue"]
1 つの配列内で型を混在させることは可能です(型付き言語とは異なります)が、API では多くの場合同型の配列に揃えます。
ネスト
オブジェクトと配列は制限なく互いに入れ子にできます。
{
"users": [
{ "id": 1, "roles": ["admin", "editor"] },
{ "id": 2, "roles": ["viewer"] }
]
}
空白
文字列の外側にあるスペース、タブ、改行は意味を持ちません。整形は人間のためのもので、パーサーは余分な空白を無視します。
有効なトップレベルの形
| 有効 | 無効 |
|---|---|
{ ... } | { key: "x" }(キーがクォートされていない) |
[ ... ] | 'string'(シングルクォート) |
"text", 42, true, null | { "a": 1, }(末尾カンマ) |
次のレッスンでは各値の型を詳しく扱います。