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

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

  

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

 var jslength=;
for(var js2 in json){
jslength++;
}

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

function getJsonLength(jsonData){
var jsonLength = ;
for(var item in jsonData){
jsonLength++;
}
return jsonLength;
}

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

var _data =  ${contactJson};
function getJsonLength(jsonData){
  var jsonLength = ;
  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数组里面数组的长度的更多相关文章

  1. js获取浏览器当前窗口的高度长度

    js获取浏览器可见区域(不包括标题栏.地址栏.收藏夹栏状态栏等额外区域,仅为页面呈现区域)的高度和宽度宽度:document.documentElement.clientWidth高度:documen ...

  2. Jmeter4.0 _Beanshell解析并获取json响应数据数组长度

    我们在做jmeter接口测试的时候,有时候碰到开发没返回数据total,只返回了一条条记录,可是呢,我们又需要知道到底返回了多少条数据时,咋办呢?咋办呢?咋办呢? 不要急,接下来,让我们见证奇迹是如何 ...

  3. js获取json对象中的key和value,并组成新数组

    //比如有一个json var json = {"name" : "Tom", "age" : 18}; //想分别获取它的key 和 va ...

  4. js 页面 json对象转数组

    json_array(data); function json_array(data){ var len=eval(data).length; var arr=[]; for(var i=0;i< ...

  5. JS 获取json长度

    var keleyijson={"plug1":"myslider","plug2":"zonemenu"," ...

  6. JS 获取json key和value

    var json= { "Type": "Coding", "Height":100 }; for (var key in json) { ...

  7. js获取json数据

    var json = {  contry:{ area:{ man:"12万",  women:"10万" } } };//方式一:使用eval解析  var  ...

  8. js 获取json串中的值

    用js中著名的eval函数var strJSON = "{name:'json name'}";//得到的JSONvar obj = eval( "(" + s ...

  9. js获取json的value

    getJson('age'); function getJson(key){ var jsonObj={"name":"cxr","age" ...

随机推荐

  1. Java使用Memcached和Redis简单示例

    package xmq.study.memcached; import java.io.IOException; import java.net.InetSocketAddress; import n ...

  2. Django学习系列之captcha 验证码插件

    安装部署 安装captcha pip3. install django-simple-captcha== settings.py中引入captcha INSTALLED_APPS = [ 'djang ...

  3. Redis学习笔记3-Redis5个可运行程序命令的使用

    在redis安装文章中,说到安装好redis后,在/usr/local/bin下有5个关于redis的可运行程序.以下关于这5个可运行程序命令的具体说明. redis-server Redisserv ...

  4. C - The C Answer (2nd Edition) - Exercise 1-8

    /* Write a program to count blanks, tabs, and newlines. */ #include <stdio.h> /* count blanks, ...

  5. java创建线程的三种方式及其对照

    Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类.并重写该类的run方法,该run方法的方法体就代表了线程要完毕的任务.因此把run()方法称为运行 ...

  6. Cocos2d-x3.1下 Android,APK自己主动升级

    项目要做Android的自己主动升级,对于我们之前做iOS的转Cocos开发做Android方面的功能..... 不正确说了.这里记录下我的实现过程. 原文地址:http://blog.csdn.ne ...

  7. 基于Canvas的Char.js库使用

    Chart.js是基于Html5 Canvas的图表库. 官网:http://www.chartjs.org/ 參考文档:http://www.chartjs.org/docs/ 支持六种图表,相应源 ...

  8. iOS开发——常见BUG——导航控制器中的子控制器设置StatusBar状态失效的问题

    iOS9之前控制StatusBar的两种方式: 第一种方式:全局控制StatusBar 1. 在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppe ...

  9. ARP协议(4)ARP编程

    之前的几篇文章,分别介绍了 ARP 协议格式,在vs2012里配置winpcap环境,我们该做的准备都已经做完了.如今我们真正来实现了. 一.定义数据结构 依据ARP的协议格式,设计一个ARP协议格式 ...

  10. docker 基本指令

    sudo docker info 查看docker状态. jiqing@ThinkPad:~$ sudo docker info [sudo] password for jiqing: Contain ...