2

所以基本上我有这个代码:

var string = '{name: "bob", height: 4, weight: 145}';

我想知道是否可以将该字符串转换为对象。这样我就可以使用

string.name, string.height, and string.weight

(我正在从数据库中检索字符串变量,所以我不能只删除引号并首先使其成为对象)

4

3 回答 3

3

正如 Igor 所建议的, eval 肯定会起作用,但很容易受到攻击。

相反,您可以使用库为您解析它。以下链接中有选项:

eval 是邪恶的……那我应该用什么代替呢?

于 2012-12-25T02:24:06.697 回答
1

我不会使用string变量名,但是:

var obj = eval(string);
alert(obj.name);

或者您可以使用jQuery.parseJSON:api.jquery.com/jQuery.parseJSON。

于 2012-12-25T02:15:44.703 回答
1
于 2012-12-25T02:32:28.363 回答