2

重複の可能性:
JSON.stringify() 奇妙さ

さまざまな JSON メソッド (stringify と parse) を使用していますが、最近、それらが正しく動作しないページに出くわしました。Chrome バージョン 23.0.1271.91 m を使用しています

例として、次をコンソールに投入すると:

var x = [{"color":"red"},{"name":"ryan"}];
console.log('original object = ', x);
var y = JSON.stringify(x);
console.log('stringified = ', y);
var w = JSON.parse(y);
console.log('parsed = ', w);

私は通常これを返します:

original object = [Object, Object]
stringified =  [{"color":"red"},{"name":"ryan"}]
parsed = [Object, Object]

ここに画像の説明を入力

しかし、特にあるページでは、代わりに次のようになります。

original object = [Object, Object]
stringified =  "[{\"color\": \"red\"}, {\"name\": \"ryan\"}]"
parsed =  [{"color": "red"}, {"name": "ryan"}]

ここに画像の説明を入力

解析されるのは、これらの値/プロパティを持つオブジェクトではなく、[{"color": "red"}, {"name": "ryan"}] の値を持つ文字列です。

この問題を解決する方法がよくわかりません。明らかに、連載で何かがうまくいかない。これは、実行中の他のスクリプト (プラグイン) をあまり制御できない環境にあるため、解決策として、干渉を引き起こしている可能性のある他のスクリプトを実際に無効にすることはできません。追加の問題を引き起こす可能性があります。

4

0 に答える 0