JSON
JavaScript Object Notation
RFC 8259 The JavaScript Object Notation (JSON) Data Interchange Format 情報交換用では文字コード utf-8 でBOM禁止
RFC 7493 The I-JSON Message Format utf-8
数値はBinary64の範囲、それ以外は文字列として処理
Objectのエスケープ後重複した名前を持つメンバーを禁止
RFC 7159 (旧) → 8259
RFC 7158 (旧) → 7159
RFC 7464 JSON Text Sequence
RFC 4627 The application/json Media Type for JavaScript Object Notation (JSON) → 7159
データ交換には実質 I-JSONの制約を加えたものが使われている 型
基本型
null
boolean ( true, false )
数値 double で扱える範囲で互換性があると想定しているがそれ以上でも使える
整数型 (I-JSONでは上限あり)
浮動小数点型 NaN, Infinity は未対応 文字列 ( Unicode )
配列 Arrays
構造体 Object
など
数値型が少ない
バイナリ、日付などの形式は持たない (アプリケーション依存) I-JSONなどの制約は別途あり XMLが複雑なので代わりにRESTの主要なデータ交換形式として使われていたり。 コメントの拡張などいろいろ提案されているが標準にコメントはない。
RFC 8927 JTD JSON Type Definision 拡張
JSONC コメントが書けるMicrosoftのJSONCは定義が曖昧。