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" ...
随机推荐
- Ubuntu 16.04开机自动挂载硬盘分区(转)
说明:如果挂载以前旧硬盘分区时不需要第2.3步! 1.查看Linux硬盘信息: sudo fdisk -l 2.格式化新硬盘(很危险,注意操作时确定硬盘分区的位置): sudo mkfs.ext4 / ...
- 英特尔固态盘 说明书PDF
http://www.intel.cn/content/www/cn/zh/solid-state-drives/solid-state-drives-ssd.html
- CF #367 DIV2 E
直接使用指针,交换时交换矩阵周围的指针即可. #include <iostream> #include <cstdio> #include <cstring> us ...
- Port forwarding with xinetd Ask
https://stackoverflow.com/questions/21716673/port-forwarding-with-xinetd --------------------------- ...
- activiti自己定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
注:(1)环境搭建:activiti自己定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自己定义流程之Spr ...
- formData 对象
(1)创建的formData打印为空? var edition=$("#edinum").val();//版本号 var uploader=$("#upman" ...
- Linux Centos7 Apache 訪问 You don't have permission to access / on this server.
折腾了非常久,今天才找到了最正确的答案.感言真不easy. 百度出来的99%都是採集的内容.全都是错误的. You don't have permission to access / on this ...
- Oracle 远程访问配置 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标 C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素” C#[Win32&WinCE&WM]应用程序只能运行一个实例:MutexHelper Decimal类型截取保留N位小数向上取, Decimal类型截取保留N位小数并且不进行四舍五入操作
Oracle 远程访问配置 服务端配置 如果不想自己写,可以通过 Net Manager 来配置. 以下配置文件中的 localhost 改为 ip 地址,否则,远程不能访问. 1.网络监听配置 ...
- Android系统之路(初识MTK) ------ OTA打包ROM安装系统img等到ZIP
在做OTA升级包的时候,我编译了好多次都没过.老是IO异常.刚開始以为是我 make 的错误.后来多次检查 Error 发现是我的配置信息写错了,与驱动project师一起检查源代码, 改动配置信息后 ...
- April Fools Day Contest 2014 H. A + B Strikes Back
H. A + B Strikes Back time limit per test 1 second memory limit per test 256 megabytes input standar ...