遍历JSON、获取JSON长度的方法

发表于 2017-06-16 10:49:53 | 只看该作者 |倒序浏览 |阅读模式
遍历JSON、获取JSON长度的方法
一、$.each遍历json对象
查看一个简单的jQuery的例子来遍历一个JavaScript数组对象。
[javascript] view plain copy
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(i, obj) {
alert(obj.tagName);
});
上面的代码片断工作正常,提示 “apple”, “orange” … 等,如预期一样。
问题1: JSON 字符串。
下面的例子中,声明了一个JSON字符串(随附单或双引号)直接地。
[javascript] view plain copy
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(i, obj) {
alert(obj.tagName);
});
在Chrome中,它显示在控制台下面的错误:
Uncaught SyntaxError: Unexpected token ILLEGAL
解决方案:JSON字符串转换为JavaScript对象。
要修复它,通过标准JSON.parse()或jQuery 的 $.parseJSON 将其转换为JavaScript对象。
[javascript] view plain copy
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(i, obj) {
alert(obj.tagName);
});
//or
$.each($.parseJSON(json), function(i, obj) {
alert(obj.tagName);
});