ホームページ >ウェブフロントエンド >jsチュートリアル >js_json で文字列を json に変換する 3 つの方法

js_json で文字列を json に変換する 3 つの方法

WBOY
WBOYオリジナル
2016-05-16 18:11:551018ブラウズ

ECMA-262(E3) は JSON の概念を標準に記述しません。幸いなことに、JSON の概念は ECMA-262(E5) グローバル JSON オブジェクトと Date の toJSON メソッドを含む、正式に導入されました。

1. eval メソッドが解析されるのは、これが最も古い解析メソッドだと思います。次のように:


コードをコピー コードは次のとおりです。
function strToJson(str){
var json = eval('(' str ')');
return json;
}

str の両側のかっこを忘れないでください。
2. 新しい関数の形式は非常に奇妙です。次のように

コードをコピーします コードは次のとおりです。
function strToJson(str){
var json = (new Function("return " str))();
return json;
}

3、次のようにグローバル JSON オブジェクトを使用します。 🎜>

コードをコピーします コードは次のとおりです:
function strToJson(str){
return JSON.parse(str);
}


現在、IE8(S)/Firefox3.5/Chrome4/Safari4/Opera10 でこのメソッドが実装されています。
http ://blogs.msdn.com/ ie/archive/2008/09/10/native-json-in-ie8.aspx
https://developer.mozilla.org/en/Using_JSON_in_Firefox JSON.parse の使用は厳密に JSON 仕様に準拠する必要があります。たとえば、次のように属性を引用符で囲む必要があります。

コードをコピーします。 コードは次のとおりです。
var str = '{name:"jack"}';
var obj = JSON.parse(str); // --> 解析エラー


名前が引用符で囲まれていません。JSON.parse を使用すると、すべてのブラウザで例外がスローされ、解析が失敗します。最初の 2 つの方法は問題ありません。
こちらも参照:
Chrome での JSON.parse の特別な実装
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。