メインコンテンツまでスキップ

1. Introduction (はじめに)

JavaScript Object Notation (JSON) は, 構造化データのシリアル化のためのテキストフォーマットです。これは, ECMAScriptプログラミング言語標準第3版 [ECMA-262] で定義されているJavaScriptのオブジェクトリテラルに由来します。

JSONは, 4つのプリミティブ型 (文字列, 数値, ブール値, null) と2つの構造化型 (オブジェクト, 配列) を表現できます。

文字列は, 0個以上のUnicode文字 [UNICODE] のシーケンスです。この参照は特定のバージョンではなく, Unicodeの最新バージョンを指していることに注意してください。Unicode仕様の将来の変更がJSONの構文に影響を与えることは予想されていません。

オブジェクトは, 0個以上の名前/値ペアの順序付けられていないコレクションであり, 名前は文字列で, 値は文字列, 数値, ブール値, null, オブジェクト, または配列にすることができます。

配列は, 0個以上の値の順序付けられたシーケンスです。

「オブジェクト」と「配列」という用語は, JavaScriptの慣例に由来します。

JSONの設計目標は, 最小限, 移植可能, テキストベース, そしてJavaScriptのサブセットであることでした。

1.1. Conventions Used in This Document (この文書で使用される規約)

この文書のキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", "OPTIONAL" は, [RFC2119] で説明されているように解釈されるべきです。

この文書の文法規則は, [RFC5234] で説明されているように解釈されるべきです。

1.2. Specifications of JSON (JSONの仕様)

この文書は, JSONを記述し, メディアタイプ "application/json" を登録した [RFC4627] を更新します。

ECMAScript用語でのJSONの説明は, ECMAScript仕様 [ECMA-262] のバージョン5.1, セクション15.12に記載されています。JSONは [ECMA-404] でも説明されています。

すべてのJSON文法仕様は, 言語の構文要素について一致しています。

1.3. Introduction to This Revision (この改訂版への序論)

RFC 4627が公開されてからの数年間で, JSONは非常に広く使用されるようになりました。この経験により, 仕様では許可されているものの, 相互運用性の問題を引き起こす特定のパターンが明らかになりました。

さらに, 少数の正誤表が報告されました (RFCエラッタID 607 [Err607] および3607 [Err3607] を参照)。

この文書の目標は, これらの正誤表を適用し, 他のJSON仕様との不整合を排除し, 相互運用性の問題につながる可能性のある実践を強調することです。