javascript - 如何获取 JSON 数据的正确计数而不是字符长度

标签 javascript json

我认为我的代码返回一个 JSON 数组。返回的 JSON 数组存储在 JavaScript 变量:result 中。如果我

console.log(result); 

在 FF 中,我得到输出

[{"id":"G24","value":"Zas, S"},{"id":"G75","value":"Wara, TS"},{"id":"G48","value":"Jala, S"}]

在 jsonLint 上验证 json 是否正确。

在我的代码中,如果我像这样计算数组中的元素数量:

var key, count = 0;
for(key in result) 
{
  count++;
}
console.log("result count is:" + count); 

输出为 94,这是数组中字符的长度/计数 - [上面显示的示例输出已修改]

但是,在 FF 的 JSON 选项卡中,它将结果显示为对象数组:

0   Object { id="G24", value="Zas, S"}
1   Object { id="G75", value="Wara, TS"}
2   Object { id="G48", value="Jala, S"}

我使用了“stackoverflow”中的替代代码片段sources

for ( property in result )
{
   if(result.hasOwnProperty(property))
   {
     count++;
   }
}

这也产生了同样的结果。我怎样才能正确地迭代这个数组或对象数组或字符串或其他任何东西?请计算一下?谢谢。

最佳答案

听起来您有一个返回 JSON 文档的 HTTP 响应。

在 JSON 选项卡中,这显示为 JSON。

如果您的代码,您只需获取响应的文本并对其进行操作。

您需要解析 JSON 来创建 JavaScript 对象。

将字符串传递给 JSON.parse并使用json2.js为旧版浏览器进行填充。

关于javascript - 如何获取 JSON 数据的正确计数而不是字符长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11718776/

相关文章:

javascript - 更改 HH 的时间字符串 :mm am/pm to 24 hour time

json - 我怎样才能让 jq 按字母顺序漂亮地打印 json 排序键

c# - 在 Xamarin.forms C# 中显示包含 JSON 数据的列表

c# - JSON 数字根到通用名称

javascript - 在 Express.js 中,我是否应该返回响应?

javascript - 如何在 React JS 上进行 API 调用(CRUD)

javascript - 通过索引调用Json?

javascript - 如何在任何级别递归地更改 JS 对象/JSON 值?

javascript - Angular react 形式 : Dynamic Select dropdown value not binding

javascript - 是否有任何内置的 AngularJS 指令来控制可见性 CSS 属性?