中学理科1634014 views
高校倫理1444997 views
いろは3027485 views
高校化学2934298 views
MathPython502508 views
LaTeX965971 views
Computer370271 views
高校生物553405 views
高校物理162938 views
高校日本史191091 views
Help
Tools

English

JSON の書式ルールと注意点

JSON を正しく記述するためには、いくつかの厳格なルールを守る必要があります。JavaScript のオブジェクトリテラルとは異なるルールがあるため、注意が必要です。

文字列はダブルクォートのみ

JSON では、文字列を囲むのはダブルクォート " だけです。シングルクォート ' やバッククォート ` は使用できません。

正しい
{"name": "田中"}
誤り
{'name': '田中'}

キーも文字列として記述

オブジェクトのキーは必ずダブルクォートで囲む必要があります。JavaScript では省略できますが、JSON では必須です。

正しい
{"age": 25}
誤り
{age: 25}

末尾のカンマは禁止

配列やオブジェクトの最後の要素の後にカンマを置くことはできません。これは JavaScript では許容されることがありますが、JSON では構文エラーになります。

正しい
[1, 2, 3]
誤り
[1, 2, 3,]

コメントは書けない

JSON にはコメント機能がありません。// や /* */ を使うとパースエラーになります。

{
  "name": "田中"
}

設定ファイルなどでコメントが必要な場合は、JSON5 や JSONC といった拡張形式を検討するか、別途ドキュメントを用意します。

使用できるデータ型

JSON で表現できるのは以下の6種類のみです。

文字列("hello")
数値(123, 3.14)
真偽値(true, false)
null
オブジェクト({})
配列([])

undefined、関数、Date オブジェクト、正規表現などは直接表現できません。必要な場合は文字列として格納し、パース後に変換する必要があります。

数値の制限

JSON の数値は JavaScript の Number 型として扱われます。非常に大きな整数を扱う場合は精度が失われる可能性があるため、文字列として保存することも検討してください。

// 大きな数値は精度が失われる
const json = '{"id": 9007199254740993}';
const obj = JSON.parse(json);
console.log(obj.id); // 9007199254740992(精度が落ちている)

これらのルールを守ることで、どの環境でも正しくパースできる JSON を作成できます。