获取多维JSON变量的行数
Get number of rows of multidimensional JSON variable
我有一个PHP函数,它返回格式的多级JSON对象
var data = {
1 : {
1: { Object },
2: { Object },
...,
...
},
2: {
1: { Object },
2: { Object },
...,
...
}
}
我需要获得data
的长度来初始化for循环的最大值。我指的是一级条目的计数。
data[1].length
返回22,data[2].length
通过console.log
打印输出返回23。这是预期的,但data.length
返回未定义。
有比更好的方法吗
var count = 0;
for (var i=1; i< Number.MAX_VALUE; i++){
if (typeof data[i] != 'undefined')
count = i;
}
怎么样
Object.keys(data).length
如果可以控制JSON格式,嵌套数组似乎是更好的选择。
如果没有,你可以运行类似的程序
var length = 0;
for (var i in data) {
if (isFinite(i) && i > length)
length = i;
}
您可以计算循环中的条目数,如下所示:
var length = 0;
for (var key in data) {
if (data.hasOwnProperty(key)) {
length++;
}
}
但是,如果您可以控制返回的数据,那么返回数组而不是对象可能会更容易,因为数组已经具有所需的长度属性。
为什么不直接这样做,而不是分配数字属性?数组将具有您想要的长度属性:
var data = [
[
{ Object },
{ Object },
...,
...
],
[
{ Object },
{ Object },
...,
...
]
]
相关文章:
- AngularJS-在JSON选择器中使用变量名
- 将Json作为变量加载到jsTree中
- 使用JSON文件中的变量(字符串)填充文本区域
- js-获取带有变量的json
- 如何在AngularJS-ng重复循环中将长JSON路径缩短为变量
- 如何将JSON数据转换为变量,解析并输出为HTML
- 当JSON数据=变量时,需要执行循环
- 我想将查询字符串变量添加到JSON名称/值对中
- 获取多维JSON变量的行数
- 如何通过解析JSON文件来分配JavaScript变量
- 如何将HTML表单(JSON格式)中的数据分配给变量
- AJAX将JSON数组保存到多个JS变量中
- 格式化AJax调用返回的Json,并将其分配给javascript变量
- 通过组合变量在解析JSON时访问随机对象
- 想要将 JSON 字符串传递给 javascript 变量 [ JSON.parse(),eval()] 对我不起作用,
- 如何将字符串添加到变量json字符串中,以便在highstock图表中添加标志
- 在变量(json data)内循环
- 如何在一个变量Json href属性中插入值
- 高图表:解析多变量 JSON 数据
- 如何识别变量JSON.stringify