所以基本上我有这个代码:
var string = '{name: "bob", height: 4, weight: 145}';
我想知道是否可以将该字符串转换为对象。 这样我就可以用
了string.name, string.height, and string.weight
(我正在从数据库中检索字符串变量,所以我不能只删除引号并首先将其作为对象)
答案 0 :(得分:3)
相反,您可以使用库来为您解析它。以下链接中有以下选项:
答案 1 :(得分:1)
我不会将string
用于变量名,但是:
var obj = eval(string);
alert(obj.name);
或者您可以使用jQuery.parseJSON
:api.jquery.com/jQuery.parseJSON。
答案 2 :(得分:1)
您的字符串似乎格式不正确。要使用JSON.parse
甚至jQuery.parseJSON
方法,您的密钥必须包含语音标记("
),如下所示:
var str = '{"name": "bob", "height": 4, "weight": 145}';
var obj = JSON.parse(str);
您可以通过添加console.log(obj);
作为最后一行来测试。这是我的jsFiddle example。
因此,请尝试查看是否可以使用我建议的格式从服务器下载数据,然后可以轻松地将其解析为JavaScript对象。