ホームページ  >  記事  >  ウェブフロントエンド  >  JSで文字列をjsonに変換する方法まとめ

JSで文字列をjsonに変換する方法まとめ

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-25 15:26:183124ブラウズ

今回はJSで文字列をjsonに変換する方法についてまとめました。JSで文字列をjsonに変換する際の注意点は何ですか?実際のケースを見てみましょう。

最初の方法:

js 関数 eval();

testJson=eval(testJson); を使用するのは間違った変換方法です。

正しい変換方法には () を追加する必要があります: testJson = eval("(" + testJson + ")");

eval() は非常に高速ですが、任意の JavaScript プログラムをコンパイルして実行できるため、セキュリティ上の問題があります。 eval() を使用します。情報源は信頼できるものでなければなりません。より安全な JSON パーサーを使用する必要があります。サーバーが JSON を厳密にエンコードしていない場合、または入力が厳密に検証されていない場合、無効な JSON が提供されたり、危険なスクリプトが含まれたり、eval() でスクリプトが実行され、悪意のあるコードがリリースされる可能性があります。

js コード:

 function ConvertToJsonForJs() {
            //var testJson = "{ name: '小强', age: 16 }";(支持)
            //var testJson = "{ 'name': '小强', 'age': 16 }";(支持)
            var testJson = '{ "name": "小强", "age": 16 }';
            //testJson=eval(testJson);//错误的转换方式
            testJson = eval("(" + testJson + ")");
            alert(testJson.name);
        }

2 番目の方法は、jquery.parseJSON() メソッドを使用することです。これは、json 形式に関する要件が高く、json 形式に準拠する必要があります

jquery.parseJSON()

js : コード

 function ConvertToJsonForJq() {
            var testJson = '{ "name": "小强", "age": 16 }';
            //不知道
            //'{ name: "小强", age: 16 }' (name 没有使用双引号包裹)
            //"{ 'name': "小强", 'age': 16 }"(name使用单引号)
            testJson = $.parseJSON(testJson);
            alert(testJson.name);
        }

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

jQueryを使用してJsonオブジェクトの属性と値を動的に走査する手順の詳細な説明

jQuery+ajaxを使用してget()関数を使用してページを詳細に読み取る

以上がJSで文字列をjsonに変換する方法まとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。