将字符串转换为JSON对象
如何将字符串转换为对象? 我正面临这个问题,因为我试图使用“each”读取JSON字符串中的元素。
我的字符串如下。
jsonObj = "{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}"
我使用了eval
而且我已经使用过了
var obj = $.parseJSON(jsonObj);
我也用过
var obj= eval("(" + jsonObj + ")");
但它一直都是空的
将字符串括在单引号中它应该有效。 试试这个。
var jsonObj = '{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}'; var obj = $.parseJSON(jsonObj);
演示
结合Saurabh Chandra Patel的答案和Molecular Man的观察 ,你应该有这样的事情:
JSON.parse('{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}');
尝试:
var myjson = '{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}'; var newJ= $.parseJSON(myjson); alert(newJ.TeamList[0].teamname);
你的字符串无效。 双重报价不能在双引号内。 你应该逃避他们:
"{\"TeamList\" : [{\"teamid\" : \"1\",\"teamname\" : \"Barcelona\"}]}"
或使用单引号和双引号
'{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}'
快速回答,这个评估工作:
eval('var obj = {"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}')
只有js
JSON.parse(jsonObj);
参考