本文介绍如何在 JavaScript 中获取 JSON 数组的长度。针对 JSON 对象本身无 length 属性的情况,通过遍历对象键值对统计数量。同时提供针对嵌套数组(如 contacts)的深度遍历方法,展示如何准确获取子数组元素个数,适用于前端数据处理场景。
JSON 数组长度获取基础
作为前端开发者,初次处理 JSON 数据时,可能会遇到需要获取 JSON 数组内部数组长度的问题。初学者常误以为 JSON 对象直接具备 .length 属性,实际上 JSON 本身并无此属性,这需要开发者通过其他方式实现长度统计。
具体场景是:在 .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);
执行上述代码后,即可得到 contacts 数组的实际元素数量,并将结果展示在页面上。

以上即为 JavaScript 获取 JSON 数组及嵌套数组长度的完整实现过程,供前端开发者参考使用。