关于javascript:如何计算JSON数组元素的长度

how to count length of the JSON array element

本问题已经有最佳答案,请猛点这里访问。

我正在计算JSON数组元素的长度。我知道用json.array.length来计算数组的长度。这需要找出每个索引中有多少项。

如果我的数组是:

1
2
3
4
  {"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?"}]}

然后我需要找到EDOCX1的长度。这里面有四个项目。我和data.shareInfo[i].length试过这个。但它会产生错误。

请有人告诉我如何找到长度…谢谢。。。。


Before going to answer read this Documentation once. Then you clearly understand the answer.

Try this It may work for you.

1
Object.keys(data.shareInfo[i]).length


首先,如果您要处理的对象是一个字符串,那么您需要解析它,然后计算出键的长度:

1
2
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以获取参考。


我想你应该试试

[cc lang="javascript"]data = {"shareInfo":[{"id":"1","a":"sss","b":"sss","question":"whi?