ホームページ > 記事 > ウェブフロントエンド > JavaScriptにおけるjsオブジェクトとJSON形式文字列の相互変換について詳しく解説
この記事では主にJavaScriptにおけるjsオブジェクトとJSON形式の文字列の相互変換について紹介していますので、興味のある方は参考にしてみてください。
まず、jsのJSON形式の文字列を見てみましょう
var JSONStr1 = "{\"name\" : \"张三\"}";
以下の記述はjsのJSON形式の文字列ではなく、単なるjsの文字列であることに注意してください。
var JSONStr2 = "{'name' : '张三'}";
JSON 構文での文字列の定義を見てみましょう: は、バックスラッシュ エスケープを使用し、二重引用符で囲まれた任意の数の Unicode 文字のコレクションです。文字とは単一の文字列です。
jsでJSON形式の文字列をJSオブジェクトに変換する方法を見てみましょう。 (
var jsObj3 = eval("(" + JSONStr1 + ")"); var jsObj4 = JSON.parse(JSONStr1);
特定の理由から 2 番目の方法を使用することをお勧めします。http://www.php.cn/
を参照してください。さらに、js オブジェクトは次の方法で変換されたことにも言及したいと思います。これら 2 つのメソッドは「JSON データ形式の適合する js オブジェクト」である必要があります。これは、その属性が引用符で囲まれていることを意味します。これは、JSON 形式の文字列が次のように表現されるためです。
変換された JS オブジェクトの属性は引用符で囲む必要があります。引用符のない JS オブジェクトの属性は、文字、数字、アンダースコア、$ 記号でしか表現できないためです。他のシンボル属性を使用する場合は、引用符で囲みます。マークを付ける必要があるため、JS オブジェクトのリテラル表記では属性に引用符を付けるのが正しいです。また、JSON 形式の文字列が上記の場合、変換された JS オブジェクトは jsObj4.f[name] を使用できません。 jsObj4['f[ name]'] には特殊文字が含まれているため、読者の方が私の推測に異論がある場合は、お知らせください js オブジェクトの変換を見てみましょう。以下に、説明のためにいくつかの js オブジェクトのグループを用意しました:var JSONStr1 = "{\"f[name]\" : \"张三\"}";ポップアップ ボックスの内容を見てください: (4)
(1)、(3)、(4) の結果は、JSON パーサーの stringify() 関数が、js オブジェクトが JSON 形式に準拠するかどうかに制限を課さず、js オブジェクトを JSON 形式に変換できることを示しています。 string. . (2)の実行結果は、jsオブジェクト内にJSONで表される値(functionやunknownなど)が存在しない場合は除外されることがわかります
以上がこの記事の内容です。皆様の学習に役立つことを願っています。PHP 中国語 Web サイトをサポートしていただければ幸いです。JavaScript での JS オブジェクトと JSON 形式の文字列の変換に関する詳細な記事については、PHP 中国語 Web サイトに注目してください。