はじめに
JSON は JavaScript Object Natation であり、サーバーと JavaScript 間の対話に非常に適した軽量のデータ交換形式です。
JSON は、XML や YAML と同様のデータ交換形式であり、さまざまな言語間で構造化情報を転送する方法です。一方、JavaScript オブジェクトは、PHP の配列、C のクラスや構造体と同様、JavaScript 言語のデータ型です。
JSON および JavaScript オブジェクトを定義する
JavaScript プログラムでオブジェクトを定義する場合、オブジェクトの属性名は二重引用符で囲むかどうかを指定できます。属性名に特殊文字 (!、if など) が含まれる場合は、二重引用符を追加する必要があります。
JSON を定義する場合、属性名を二重引用符で囲む必要があります。
コード例:
1. JavaScript オブジェクト
を定義します。
JSON に変換された JavaScript オブジェクト
1. JavaScript オブジェクトを JSON に変換します
JavaScript の組み込み関数を使用して、JavaScript オブジェクトを JSON に変換できます。この関数は JSON.stringify() です。
コード例:
JavaScript での JSON の解析
古いバージョンの JS では、通常、誰もが JSON を解析するために eval() 関数を使用しますが、ECMAScript5 では、JSON を解析するための新しい関数 JSON.parse() が提供されます。
この関数の使い方は比較的簡単なので、自分で試してみることができます。この関数が JSON 文字列に適用されると、JSON は JavaScript オブジェクトに変換されます。つまり、typeof 演算子を使用して関数の型を表示すると、戻り値は Object になります。
もう 1 つの注意点は、この関数は ECMAScript 5 以降でのみサポートされるということです。ブラウザの古いバージョンの場合、この関数はサポートされていない可能性があります。解決策は、この関数を実装する js ファイル、つまり json2.js をロードすることです。 JQuery フレームワーク jQuery.parseJSON() を使用している場合、この関数は JSON.parse() メソッドを呼び出します。
JSON を解析するための eval() メソッドの使用については、詳細に検討した後に記録します。
非常に重要な概念
フロントエンドの初心者として、「JSON オブジェクト」という言葉をよく聞きますが、実際には「JSON オブジェクト」という概念はありません。JSON の実際の形式は文字列です。