javascript - 无法计算 JSON 中特定属性的实例数

标签 javascript jquery json

我的 JSON 由 ajax 请求返回并存储在 data 变量中。

JSON 看起来像这样(顶行是邮政编码/邮政编码,每个请求都不同):

  {
      "ML1 4EQ":{
          "ExchangeCode":"WSMOT",
          "ExchangeName":"MOTHERWELL",
          "Options":{
              "10":{
                  "Preference":"3rd Party Tail (TTB)",
                  "Supplier 1":9591,
                  "Supplier 2":3581,
                  "Wholesale":5200,
                  "RRP":6500
              },

以此类推其他 9 个选项

        }
    }
}

我正在尝试计算返回的 Options 的数量,但我从阅读其他问题中尝试的所有内容似乎都无法从返回 undefined 到它只返回 3 而不是 10(我想我数错了级别)。

这些包括

var key, results = 0;
for (var k in data) { // only simple cross browser way to get the first property
    var obj = data[k];
    for (key in obj) {
        results++;
        count = results;
    }
    return; // no need to go further, we have counted the options in the postcode object
}

最佳答案

这将计算第一个对象中选项的总数。

var count = 0;
for(var key in data){
  for(var i in data[key].Options){
    count++;   
  }
  break;
}

Fiddle

关于javascript - 无法计算 JSON 中特定属性的实例数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17671397/

相关文章:

json - 在 grails 中解析 JSON 时如何获得真正的空值而不是 JSONObject.NULL 值

asp.net - 在 ASP.NET 网络表单中处理 JSON 响应

javascript - 在 javascript 中使用关联数组

javascript - jQuery 单击事件在移动版 Firefox 中不起作用

javascript - magnific-popup 传递一个变量

javascript - jQuery - 选择 <tr> 的第一个 <td> 中的第一个 <a>

javascript - Aurelia 中的全局函数

javascript - FormGroup对象的控件和get方法有什么区别?

javascript - jQuery 仅在不存在时才替换字符

json - 使用 Golang 将 CSV 转换为 JSON - 在 Web 浏览器中打印时会跳过一些数据