获取JSON数组里面数组的长度可以使用JavaScript语言中的length属性,具体分为获取根数组长度和获取嵌套数组长度两种情况。
获取根数组长度
首先,需要使用JSON.parse()方法将JSON字符串解析成JavaScript对象。然后,通过对象的length属性获取根数组的长度。
示例代码如下所示:
let jsonStr = '[{"name": "张三", "age": 20}, {"name": "李四", "age": 21}]';
let jsonArray = JSON.parse(jsonStr);
let jsonArrayLength = jsonArray.length;
console.log(jsonArrayLength); // 输出结果为:2
在上述代码中,jsonStr是一个包含两个对象的JSON字符串,jsonArray是将该字符串解析后得到的JavaScript对象,jsonArrayLength就是根数组的长度。
获取嵌套数组长度
嵌套数组指的是JSON数组里面还包含其他的数组。此时,可以使用递归的方法来获取嵌套数组的长度。
示例代码如下所示:
let jsonStr = '{"name":"张三","info":[{"hobby":"reading","year":[2019,2020,2021]},{"hobby":"writing","year":[2017,2018]}]}';
let jsonObj = JSON.parse(jsonStr);
function getNestedArrayLength(obj) {
let length = 0;
for (let key in obj) {
if (Array.isArray(obj[key])) { // 如果属性值是数组,则递归获取数组长度
length += getNestedArrayLength(obj[key]);
} else {
length++; // 如果属性值不是数组,说明到达了叶子节点,长度加1
}
}
return length;
}
let nestedArrayLength = getNestedArrayLength(jsonObj);
console.log(nestedArrayLength); // 输出结果为:5
在上述代码中,jsonStr是一个包含嵌套数组的JSON字符串,jsonObj是将该字符串解析后得到的JavaScript对象。在getNestedArrayLength()函数中,首先判断属性值是否是数组,如果是数组,则递归调用该函数获取数组的长度;否则,将长度加1。最后,返回长度值。
总之,获取JSON数组里面数组的长度,需要将JSON字符串解析成JavaScript对象,然后根据情况选择通过对象的length属性获取根数组的长度,或者使用递归的方法获取嵌套数组的长度。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 获取json数组里面数组的长度实例 - Python技术站