JQuery $.each遍历JavaScript数组对象实例教程
程序员文章站
2022-06-11 18:10:27
查看一个简单的jquery的例子来遍历一个javascript数组对象。
var json = [
{"id":"1",&quo...
查看一个简单的jquery的例子来遍历一个javascript数组对象。
var json = [ {"id":"1","tagname":"apple"}, {"id":"2","tagname":"orange"}, {"id":"3","tagname":"banana"}, {"id":"4","tagname":"watermelon"}, {"id":"5","tagname":"pineapple"} ]; $.each(json, function(idx, obj) { alert(obj.tagname); });
上面的代码片断工作正常,提示 “apple”, “orange” … 等,如预期一样。
问题: json 字符串
下面的例子中,声明了一个json字符串(随附单或双引号)直接地。
var json = '[{"id":"1","tagname":"apple"},{"id":"2","tagname":"orange"}, {"id":"3","tagname":"banana"},{"id":"4","tagname":"watermelon"}, {"id":"5","tagname":"pineapple"}]'; $.each(json, function(idx, obj) { alert(obj.tagname); });
在chrome中,它显示在控制台下面的错误:
uncaught typeerror: cannot use 'in' operator to search for '156'
in [{"id":"1","tagname":"apple"}...
解决方案:json字符串转换为javascript对象。
要修复它,通过标准json.parse()或jquery 的 $.parsejson 将其转换为javascript对象。
var json = '[{"id":"1","tagname":"apple"},{"id":"2","tagname":"orange"}, {"id":"3","tagname":"banana"},{"id":"4","tagname":"watermelon"}, {"id":"5","tagname":"pineapple"}]'; $.each(json.parse(json), function(idx, obj) { alert(obj.tagname); }); //or $.each($.parsejson(json), function(idx, obj) { alert(obj.tagname); });
下一篇: 刚从超市买的肉,这真的能吃吗