最初の方法:
js 関数 eval() を使用します;
testJson=eval(testJson); は間違った変換方法です。
正しい変換方法には () を追加する必要があります: testJson = eval("(" testJson ")");
eval() は非常に高速ですが、任意の JavaScript プログラムをコンパイルして実行できるため、セキュリティ上の問題が発生します。 eval() を使用します。情報源は信頼できるものでなければなりません。より安全な JSON パーサーを使用する必要があります。サーバーが JSON を厳密にエンコードしていない場合、または入力が厳密に検証されていない場合、無効な JSON が提供されたり、危険なスクリプトが含まれたり、eval() でスクリプトが実行され、悪意のあるコードがリリースされる可能性があります。
js コード:
関数 ConvertToJsonForJs() {
//var testJson = "{ 名前: 'Xiaoqiang'、年齢: 16 }" (サポートされています)
//var testJson = "{ 'name': 'Xiaoqiang', 'age': 16 }" (サポートされています)
var testJson = '{ "名前": "小強", "年齢": 16 }';
//testJson=eval(testJson);//変換方法が間違っています
testJson = eval("(" testJson ")");
アラート(testJson.name);
}
2 番目のメソッドは jquery.parseJSON() メソッドを使用します。これは、json 形式に関するより高い要件があり、json 形式に準拠する必要があります
jquery.parseJSON()
js:コード
関数 ConvertToJsonForJq() {
var testJson = '{ "名前": "小強", "年齢": 16 }';
// わかりません
//'{ 名前: "Xiaoqiang"、年齢: 16 }' (名前は二重引用符で囲まれていません)
//"{ 'name': "Xiaoqiang", 'age': 16 }" (名前は一重引用符を使用します)
testJson = $.parseJSON(testJson);
アラート(testJson.name);
}