如何计算JSON数组元素的长度
how to count length of the JSON array element
我试图计算JSON数组元素的长度。我知道用json.array.length
来计算数组的长度。那就是需要找出每个索引中有多少项。
如果我的数组是:
{
"shareInfo": [{
"id": "1",
"a": "sss",
"b": "sss",
"question": "whi?"
},
{
"id": "2",
"a": "sss",
"b": "sss",
"question": "whi?"
},
{
"id": "3",
"a": "sss",
"b": "sss",
"question": "whi?"
},
{
"id": "4",
"a": "sss",
"b": "sss",
"question": "whi?"
}
]
}
然后我需要找到{"id":"1","a":"sss","b":"sss","question":"whi?"}
的长度。这里有四项。我用data.shareInfo[i].length
尝试了这个。但是会产生错误。
请告诉我如何找到长度....谢谢…
在回答问题之前,请先阅读一下本文档。那么你就清楚地知道答案了。
试试这个,它可能对你有用。
Object.keys(data.shareInfo[i]).length
首先,如果你要处理的对象是字符串那么你需要对其进行解析然后计算出键的长度
obj = JSON.parse(jsonString);
shareInfoLen = Object.keys(obj.shareInfo[0]).length;
首先,没有JSON对象这样的东西。JSON是一种字符串格式,可以用作Javascript对象文字的表示。
由于JSON是字符串,Javascript将把它当作字符串,而不是对象(或数组或任何你想使用它的东西)
这里有一个很好的JSON参考来澄清这个区别:
http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/因此,如果您需要完成您的问题中提到的任务,您必须将JSON字符串转换为对象或将其作为字符串处理,而不是作为JSON数组。有几个库可以实现这一点。参考http://www.json.org/js.html
我想你应该试试
data = {"shareInfo":[{"id":"1","a":"sss","b":"sss","question":"whi?"},
{"id":"2","a":"sss","b":"sss","question":"whi?"},
{"id":"3","a":"sss","b":"sss","question":"whi?"},
{"id":"4","a":"sss","b":"sss","question":"whi?"}]};
ShareInfoLength = data.shareInfo.length;
alert(ShareInfoLength);
for(var i=0; i<ShareInfoLength; i++)
{
alert(Object.keys(data.shareInfo[i]).length);
}
相关文章:
- 访问JSON对象内部的数组元素
- 如何在JSON中加载对象内部的数组元素
- JSON数组元素作为单个数组
- 当接收不同的数组元素时,数组中的JSON对象相同
- 如何从html响应解析javascript数组(包含JSON对象作为元素)
- 是否可以在不使用索引号的情况下访问 json 数组元素
- 将新的数组元素添加到 JSON 对象
- 通过JSON对象键访问javascript数组元素
- 访问json数组元素的动态方式
- 访问JSON数据数组元素
- Json-在数组元素之间插入一个新对象
- 访问json数组元素
- D3.js - JSON数据数组将相同的数组元素绑定到所有内容
- 如何将json数组元素映射到下拉列表中选择的选项
- 如何动态显示json数组元素到选择标签
- 在Javascript中遍历JSON数组元素
- 使用JSON对象/数组元素的for循环
- 从json文件中推入数组元素后被清除
- 如何使用javascript从json中获取数组元素
- Json数组元素到html页面