JSON (JavaScript Object Notation) は、軽量のデータ交換形式である JavaScript Object Notation です。 JSON はテキストとして保存および送信されるため、読みやすく、保守しやすく、拡張性が高く、Web アプリケーションで広く使用されています。
JavaScript では、JSON 形式のデータを JavaScript オブジェクトに変換して簡単に利用できます。 JSON 形式を JavaScript オブジェクトに変換するいくつかの方法を次に示します。
方法 1: JSON.parse() メソッドを使用する
JSON.parse() メソッドは、JSON 文字列を JavaScript オブジェクトに変換できます。このメソッドは、JSON を表す文字列をパラメータとして受け取り、JavaScript オブジェクトを返します。以下は、JSON.parse() メソッドを使用した例です。
var jsonStr = '{"name":"Lucy","age":25,"gender":"female"}'; var jsonObj = JSON.parse(jsonStr); console.log(jsonObj.name); // 输出:Lucy console.log(jsonObj.age); // 输出:25 console.log(jsonObj.gender); // 输出:female
方法 2: eval() メソッドを使用する
一部の古いブラウザでは、JSON.parse() メソッドがサポートされていない可能性があります。eval() メソッドを使用して、JSON 文字列を次のように変換できます。 JavaScript オブジェクト。 eval() メソッドは受信文字列を JavaScript コードとして実行するため、受信文字列のセキュリティには特別な注意を払う必要があります。
以下は eval() メソッドの使用例です。
var jsonStr = '{"name":"Lucy","age":25,"gender":"female"}'; var jsonObj = eval('(' + jsonStr + ')'); console.log(jsonObj.name); // 输出:Lucy console.log(jsonObj.age); // 输出:25 console.log(jsonObj.gender); // 输出:female
eval() メソッドを使用する場合、JSON 文字列を括弧で囲む必要があることに注意してください。括弧で囲まないと構文エラーが発生します。さらに、 eval() メソッドは受信文字列を JavaScript コードとして実行するため、受信文字列のセキュリティに特別な注意を払う必要があり、信頼できないデータの処理にはこのメソッドを使用しないでください。
方法 3: Function() メソッドを使用する
eval() メソッドと同様に、Function() メソッドを使用して JSON 文字列を JavaScript オブジェクトに変換できます。 Function() メソッドは、渡された文字列を関数本体として受け取り、新しい関数を作成し、その関数をただちに実行します。文字列のセキュリティにも特別な注意を払う必要があります。
次に、Function() メソッドの使用例を示します。
var jsonStr = '{"name":"Lucy","age":25,"gender":"female"}'; var jsonObj = (new Function('return ' + jsonStr))(); console.log(jsonObj.name); // 输出:Lucy console.log(jsonObj.age); // 输出:25 console.log(jsonObj.gender); // 输出:female
Function() メソッドを使用する場合は、JSON 文字列を関数本体として「return」と連結する必要があることに注意してください。連結しないと構文エラーが発生します。同時に、受信文字列のセキュリティには特別な注意を払う必要があります。
概要
上記では、JSON 形式を JavaScript オブジェクトに変換する 3 つのメソッド、JSON.parse() メソッド、eval() メソッド、および Function() メソッドを紹介しました。実際に使用する場合は、データ変換に JSON.parse() メソッドを使用する方が安全で効率的であるため、使用することをお勧めします。
以上がJSON形式のデータをJavaScriptオブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。