我有一个 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/