查看一个简单的jQuery的例子来遍历一个JavaScript数组对象。
$.each(json,function(idx,obj) {
alert(obj.tagName);
});
alert(obj.tagName);
});
上面的代码片断工作正常,提示 “apple”,“orange” … 等,如预期一样。 问题: JSON 字符串
下面的例子中,声明了一个JSON字符串(随附单或双引号)直接地。
$.each(json,obj) {
alert(obj.tagName);
});
alert(obj.tagName);
});
Uncaught TypeError: Cannot use 'in' operator to search for '156' in [{"id":"1","tagName":"apple"}...
解决方案:JSON字符串转换为JavaScript对象。 要修复它,通过标准JSON.parse()或jQuery 的 $.parseJSON 将其转换为JavaScript对象。
$.each(JSON.parse(json),obj) {
alert(obj.tagName);
});
alert(obj.tagName);
});
//or
$.each($.parseJSON(json),obj) {
alert(obj.tagName);
});