js 获取json数组里面数组的长度
作为一个前端页面开发者第一次处理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数组里面数组的长度的更多相关文章
- js获取浏览器当前窗口的高度长度
js获取浏览器可见区域(不包括标题栏.地址栏.收藏夹栏状态栏等额外区域,仅为页面呈现区域)的高度和宽度宽度:document.documentElement.clientWidth高度:documen ...
- Jmeter4.0 _Beanshell解析并获取json响应数据数组长度
我们在做jmeter接口测试的时候,有时候碰到开发没返回数据total,只返回了一条条记录,可是呢,我们又需要知道到底返回了多少条数据时,咋办呢?咋办呢?咋办呢? 不要急,接下来,让我们见证奇迹是如何 ...
- js获取json对象中的key和value,并组成新数组
//比如有一个json var json = {"name" : "Tom", "age" : 18}; //想分别获取它的key 和 va ...
- js 页面 json对象转数组
json_array(data); function json_array(data){ var len=eval(data).length; var arr=[]; for(var i=0;i< ...
- JS 获取json长度
var keleyijson={"plug1":"myslider","plug2":"zonemenu"," ...
- JS 获取json key和value
var json= { "Type": "Coding", "Height":100 }; for (var key in json) { ...
- js获取json数据
var json = { contry:{ area:{ man:"12万", women:"10万" } } };//方式一:使用eval解析 var ...
- js 获取json串中的值
用js中著名的eval函数var strJSON = "{name:'json name'}";//得到的JSONvar obj = eval( "(" + s ...
- js获取json的value
getJson('age'); function getJson(key){ var jsonObj={"name":"cxr","age" ...
随机推荐
- JSP处理日期
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/handling-date.html: 使用JSP的一个最重要的优点是,可以使用核心Java中所有有效的方 ...
- git remote加入本地库的方法
方法来自airk: 假设须要将你电脑本地的一个git库(目录)B 加入到另外一个git库(目录) A的 remote里 操作方法例如以下: 先在git仓库B操作: git init --bare 然后 ...
- Windows 老是弹出要自动拨号连接怎么办
如下图所示,无论点击取消还是点击关闭按钮都会自动再弹出 点击工具-Internet选项 连接-局域网设置,取消勾选这些东西 点击确定和应用,可能还是会弹出几次拨号的窗口,多点击几次取消,过几下就不弹了 ...
- EEPlat的控制器概念
控制器是EEPlat平台界面层部分的核心概念.平台中界面展示都是通过平台的各种控制器综合控制输出的. EEPlat平台的界面层模型採用了HMVC模式.HMVC模式的採用使得EEPlat平台界面层可以实 ...
- Mac下intellij idea环境的项目的新建、配色、快捷键的配置
注:本文所使用的intellij idea是14.1.2的版本号. 一.项目的新建(以新建Java项目为例) 选中当中的"create new project". 接下来你会看到下 ...
- asp.net forms认证
工作中遇到的asp.net项目使用forms认证.以前虽然用过,但其原理并不了解,现在甚至对什么是form认证也完全不知道了.对一样东西如果不清楚其原理,不知其所以然,那么死记硬背是无济于事的. as ...
- javascript下的json 序列化及反序列化
1.序列化 将json对象转为字符串: JSON.stringify(jsonObj) 2.反序列化 var jsonObj = eval("(" + jsonstring + & ...
- 【NOIP 2016】初赛-完善程序 & 参考答案
参考答案 感觉这两题目都挺好的~~ T1 交朋友 简单描述:有n个人依次进入教室,每个人进入会找一个身高绝对值相差最小的人交朋友(相同时更想和高的交朋友),求每个人交的朋友. Solution: So ...
- luogu 3958 奶酪
noip2017 D2T1 奶酪 某zz选手没有想到可以用并查集来做,直接用了dijskstra,结果被ccf老爷机卡成了70分 题目大意: 现有一块大奶酪,它的高度为 h,它的长度和宽度我们可以认为 ...
- Ado.net设计模式
连接类 连接类有固定的使用模式,这是常用的乐观模式: using (var conn = new SqlConnection(connstr)) { conn.Open(); //执行各种数据库操作 ...