全国统一服务热线:400-633-9193

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

    网络     2017-12-04    1432

作为一个前端页面开发者第一次处理json数据,遇到了‘js 获取json数组里面数组的长度'?竟然不知道 json没有.length属性(真是要嘲讽下自己),少壮不努力老大徒伤悲啊!以前都是去寻求男朋友帮助,但是最近尝试自己去解决遇到的问题。

我遇到的问题是这样的:***.jsp结尾的页面里面,后端传给我的json数据是一个数组,然后要获取第二个数组contacts里面的数组长度,然后百度发现 json没有.length属性。怎么办呢?

既然json对象没有length属性,如果要知道他的长度怎么办呢?

1
2
3
4
var jslength=0;
 for(var js2 in json){
 jslength++;
 }

把这段代码写成一个方法,以后调用就行了:

1
2
3
4
5
6
7
function getJsonLength(jsonData){
 var jsonLength = 0;
 for(var item in jsonData){
  jsonLength++;
 }
 return jsonLength;
}

但是上面的方法只能获取到第一层数组的长度???获取不到子数组里面的数组长度???然后自我发挥了下,用下面方法成功获取到contacts数组的长度。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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);  

最后调出的结果:


  分享到:  
0.2210s