1

eval を使用して文字列をオブジェクトに変更しようとしましたが、失敗しました。

var obj ="{a:0, b:-1}";
eval(obj);

エラーメッセージには「無効なラベル」と表示されますが、これでも機能しません

var obj="{'a':'0', 'b':'-1'}";

コードの何が問題になっていますか?

4

2 に答える 2

2

json を ing するときevalは、中かっこで囲む必要があるため、次のようになります (そうしないと、完全な javascript ステートメントではありません)。

eval('('+obj+')');

これでエラーは解決しましたが、生成されたオブジェクトはどの変数にも保存されません。

eval('obj = '+obj);

これも完全なステートメントを作成し、さらに、obj「実際の」オブジェクトになりました。

于 2012-06-18T05:25:29.243 に答える
0

このようなことも試すことができます。

var obj=eval(" [{'a':'0', 'b':'-1'}] ");
alert(obj);
于 2012-06-18T05:32:13.093 に答える