web-dev-qa-db-ja.com

オブジェクトへのjavascript文字列

文字列オブジェクト値を変数に適用する方法.

var str='{a:"www"}'

設定方法

var obj={a:"www"}

私はeval()を試しますが、動作しません

25
Ankit_Shah55
var str='{"a":"www"}';
var obj = JSON.parse(str);
32
trebuchet

evalは動作するはずです。実際には MDNソリューション です。文字列が有効なJSONではないことは言うまでもありません。したがって、evalが唯一のオプションです(そのためのライブラリを含めたくない)。

var str='{a:"www"}';
var obj=eval("("+str+")");
console.log(obj);

Chrome開発ツールのクイックテスト:

eval("("+'{a:"www"}'+")")
Object
    a: "www"
    __proto__: Object

文字列をかっこで囲み、outsideevalに割り当てることを忘れずに(比較的)安全です。

36
Passerby