将字符串转换为JSON对象
问题描述:
如何将字符串转换为对象?我正面临这个问题,因为我正在尝试使用“each”来读取JSON字符串中的元素。将字符串转换为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);
答
您的字符串是无效的。双重报价不能放在双引号内。你应该逃避他们:
"{\"TeamList\" : [{\"teamid\" : \"1\",\"teamname\" : \"Barcelona\"}]}"
,或者使用单引号和双引号
'{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}'
答
快速的答案,这EVAL工作:
eval('var obj = {"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}')
答
尝试:
var myjson = '{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}';
var newJ= $.parseJSON(myjson);
alert(newJ.TeamList[0].teamname);
+0
非常感谢你的代码'$ .parseJSON(myjson)'。这真的很有用。 – 2012-06-21 10:31:15
答
Saurabh Chandra Patel的answer有Molecular Man“结合小号observation,你应该有这样的事情:
JSON.parse('{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}');
你试过单引号? '{“TeamList”:[{“teamid”:“1”,“teamname”:“Barcelona”}]}'' – 2012-02-06 18:13:42
eval为我工作 – 2012-02-06 18:15:19
可能的重复http://stackoverflow.com/questions/45015/safely -turning-a-json-string-into-an-object?rq = 1 – 2013-05-08 07:53:19