javascript字符串到对象

Ank*_*h55 25 javascript string object

如何将字符串对象值应用于变量Ex.

var str='{a:"www"}'
Run Code Online (Sandbox Code Playgroud)

现在如何设置

var obj={a:"www"}
Run Code Online (Sandbox Code Playgroud)

我尝试eval()但不工作

Pas*_*rby 36

eval应该工作,它实际上是一个MDN解决方案,更不用说你的字符串不是一个有效的JSON,所以这eval是你唯一的选择(如果你不想包含一个库).

var str='{a:"www"}';
var obj=eval("("+str+")");
console.log(obj);
Run Code Online (Sandbox Code Playgroud)

Chrome开发工具中的快速测试:

eval("("+'{a:"www"}'+")")
Object
    a: "www"
    __proto__: Object
Run Code Online (Sandbox Code Playgroud)

只需记住将字符串包装在括号中并将其分配到外部 eval,它将(相对)安全.

  • 我没有在括号中包裹我,我收到了一个错误.在调用eval()之前将对象的字符串表示包装在括号中也适用于我,但为什么括号必要? (7认同)

tre*_*het 32

var str='{"a":"www"}';
var obj = JSON.parse(str);
Run Code Online (Sandbox Code Playgroud)

  • 是但是现在它不符合要求:) (17认同)
  • @ Ankit_Shah55 eval成为问题的唯一时间是User1的输入被解释为User2上的javscript.然后用户2被带到一个可怕的色情网站,他的妻子走了进来.然后用户2经历了可怕的离婚,再也没有见过他的孩子.但这只是一种方式. (10认同)
  • `str`不是一个有效的json (6认同)