javascript - 如何在javascript中访问json中的嵌套数组

标签 javascript arrays json

我有一个 ajax 调用,作为返回我有 json 对象。 我可以使用

访问“状态”或“信息”等信息
// handle a successful response
                        success : function(json) {
                            if (json.result == 'ok') {
                                console.log('sanity check - iccid:' + json.iccid);
                                console.log('sanity check - amount:' + json.amount);
                            } else if (json.result == 'error'){
                                console.log('sanity check - error: ' + json.info);
                            };

但是在这个 json 对象中我有另一个数组:

[
    {
        "pk": 31,
        "model": "simcard.voucher",
        "fields": {
            "amount": 5,
            "voucher_no": "4762"
        }
    },
    {
        "pk": 32,
        "model": "simcard.voucher",
        "fields": {
            "amount": 5,
            "voucher_no": "4912"
        }
    }
]

首先我想获取代金券数量。我尝试使用 json.vouchers.length 但我得到了字符数量。 然后我想遍历凭证。与:

var v = json.vouchers;
 for(var i in v)
  {
   console.info( v[i].pk);
   console.info( v[i].model);
   console.info( v[i].fields.amount);
   console.info( v[i].fields.voucher_no);
   }

我收到错误 TypeError: v[i].fields is undefined

如果我将整个 json 响应输出到控制台,我会得到:

Object { amount=10,  iccid="894422",  vouchers="[{"pk": 31, "model": "simcard.voucher", "fields": {"amount": 5, "voucher_no": "4762"}}, {"pk": 32, "model": "simcard.voucher", "fields": {"amount": 5, "voucher_no": "4912"}}]"  }

希望你能指导我。 提前致谢!

最佳答案

我认为您必须将 json 解析为 js 对象。

var v = JSON.parse(json.vouchers)

关于javascript - 如何在javascript中访问json中的嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30493958/

相关文章:

arrays - MongoDB - 查询数组的最后一个元素?

android - 应为 BEGIN_ARRAY 但在第 1 行第 26 列路径 $.result 中为 STRING

c# 解析azure策略规则json以制作一棵树

c - 整数数组标记结束的建议

java - Jackson 无法识别的字段 "media:recent"

javascript - 如何在保持相对于另一个 Div 的同时将 HTML 附加到正文

javascript - 能否在 DOM 元素的样式对象更改后触发 JavaScript 钩子(Hook)?

javascript - 获取字段属性的 JQuery 通用工具。

javascript - HTML5 Canvas 的 Uncapped 与 SetInterval 帧速率?

arrays - 在 PostgreSQL 中创建包含标量列和数组列的多列索引