簡體   English   中英

如何在JavaScript中訪問json中的嵌套數組

[英]How to access nested array in json in javascript

我有一個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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM