作为一个前端页面开发者第一次处理json数据,遇到了‘js 获取json数组里面数组的长度’?竟然不知道 json没有.length属性(真是要嘲讽下自己),少壮不努力老大徒伤悲啊!以前都是去寻求男朋友帮助,但是最近尝试自己去解决遇到的问题。
我遇到的问题是这样的:***.jsp结尾的页面里面,后端传给我的json数据是一个数组,然后要获取第二个数组contacts里面的数组长度,然后百度发现 json没有.length属性。怎么办呢?
既然json对象没有length属性,如果要知道他的长度怎么办呢
var jslength=0;
for(var js2 in json){jslength ;}
把这段代码写成一个方法,以后调用就行了:
function getJsonLength(jsonData){var jsonLength = 0;for(var item in jsonData){jsonLength ;}return jsonLength;
}
但是上面的方法只能获取到第一层数组的长度???获取不到子数组里面的数组长度???然后自我发挥了下,用下面方法成功获取到contacts数组的长度。
var _data = ${contactJson};
function getJsonLength(jsonData){
var jsonLength = 0;
for(var item in jsonData){
if(item == 'contacts'){
for(var x in jsonData[item]){jsonLength ;}}}return jsonLength;
}
var _contact_num = getJsonLength(_data);
$('#contactNum').text(_contact_num);
最后调出的结果:
更多专业前端知识,请上 【猿2048】www.mk2048.com