2. JSON Grammar (JSON 文法)
JSON テキスト (JSON Text) はトークンの列です。トークンのセットには、6つの構造文字 (Structural Characters)、文字列 (Strings)、数値 (Numbers)、および3つのリテラル名 (Literal Names) が含まれます。
JSON テキストはシリアル化された値 (Serialized Value) です。JSON の以前の仕様の一部では、JSON テキストをオブジェクトまたは配列に制約していたことに注意してください。JSON テキストが要求される場所でオブジェクトまたは配列のみを生成する実装は、すべての実装がこれらを適合する JSON テキストとして受け入れるという意味で相互運用可能です。
JSON-text = ws value ws
以下は6つの構造文字です:
begin-array = ws %x5B ws ; [ left square bracket
begin-object = ws %x7B ws ; { left curly bracket
end-array = ws %x5D ws ; ] right square bracket
end-object = ws %x7D ws ; } right curly bracket
name-separator = ws %x3A ws ; : colon
value-separator = ws %x2C ws ; , comma
6つの構造文字のいずれかの前後に、無関係な空白 (Insignificant Whitespace) を挿入することができます。
ws = *(
%x20 / ; Space
%x09 / ; Horizontal tab
%x0A / ; Line feed or New line
%x0D ) ; Carriage return