js 获取json数组里面数组的长度实例

给自己一个目标,给自己一个希望,给自己一份爱一份温暖,只为今天快乐,不为昨天烦恼,自己照顾好自己,我的朋友。早安!

作为一个前端页面开发者第一次处理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);  

最后调出的结果:

以上这篇js 获取json数组里面数组的长度实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
JS获取鼠标点击时的位置

JS获取URL参数

Ajax跨域问题及解决方案(jsonp,cors)

ajax动态加载json数据并详细解析

ajax从JSP传递对象数组到后台的方法