初期の JSON パーサーは基本的に JavaScript の eval() 関数を使用していました。 JSON は JavaScript 構文そのものであるため、 eval() 関数は JavaScript オブジェクトと配列を解析、解釈し、返すことができます。
ECMAScript 5 は、JSON を解析する動作を標準化し、グローバル オブジェクト JSON を定義します。
JSON オブジェクトには、stringify() と parse() という 2 つのメソッドがあります。最も単純なケースでは、これら 2 つのメソッドは、JavaScript オブジェクトを JSON 文字列にシリアル化し、JSON 文字列をネイティブ JavaScript に解析するために使用されます。例:
新しい HTML を作成します。コードは次のとおりです:
入力タイプ="ボタン" 値="テスト" 🎜>
デフォルトの場合、JSON.stringify() によって出力される JSON 文字列には null 文字やインデントが含まれないため、jsonBook に保存される文字列は次のようになります:
コードをコピー
JavaScript オブジェクトをシリアル化する場合、すべての関数とプロトタイプのメンバーは意図的に無視され、結果には反映されません。さらに、未定義の値を持つプロパティもスキップされます。結果として、値が有効な JSON データ型であるインスタンス プロパティが得られます。
book と objectBook は同じプロパティを持っていますが、これらは関係のない 2 つの独立したオブジェクトであることに注意してください。 JSON.parse() に渡された文字列が有効な JSON ではない場合、このメソッドはエラーをスローします。