これは、標準 ECMA-262 第 3 版 (1999 年 12 月) のサブセットである JavaScript プログラミング言語に基づいています。 JSON は完全に言語に依存しないテキスト形式を使用しますが、C 言語ファミリー (C、C、C#、Java、JavaScript、Perl、Python などを含む) に似た規則も使用します。これらの特性により、JSON は理想的なデータ交換言語になります。
JSON は 2 つの構造から構成されます:
名前と値のペアのコレクション。さまざまな言語では、オブジェクト、レコード、構造体、辞書、ハッシュ テーブル、キー付きリスト、または連想配列として理解されます。
値の順序付きリスト。ほとんどの言語では、これは配列として理解されます。
これらは一般的なデータ構造です。実際、最新のコンピューター言語のほとんどは、何らかの形でそれらをサポートしています。これにより、同様にこれらの構造に基づくプログラミング言語間でデータ形式を交換できるようになります。
JSON の形式は次のとおりです。
オブジェクトは、「名前/値」ペアの順序付けされていないコレクションです。オブジェクトは「{」(左括弧) で始まり、「}」(右括弧) で終わります。各「名前」の後には「:」 (コロン) が続き、「名前と値」のペアは「,」 (カンマ) で区切られます。
配列は、順序付けられた値のコレクションです。配列は「[」 (左括弧) で始まり、「]」 (右括弧) で終わります。値は「,」(カンマ)で区切ります。
値 (値) は、二重引用符で囲まれた文字列 (文字列)、数値 (数値)、<font face="新宋体">true</font>
、<font face="新宋体">false</font>
、<font face="新宋体">null</font>
、またはオブジェクト (object) または配列 (array)。これらの構造は入れ子にすることができます。
文字列 (string) は、バックスラッシュ エスケープを使用した、二重引用符で囲まれた任意の数の Unicode 文字のコレクションです。文字とは単一の文字列です。
文字列 (string) は、C または Java の文字列と非常によく似ています。
number (number) も、C または Java の数値とよく似ています。未使用の 8 進数および 16 進数形式を削除します。エンコードの詳細をいくつか削除しました。
任意の記号の間に空白を追加できます。 完全な言語については以下で説明します。