我知道已经有一百个“解析json”问题了 - 但我找不到一个符合我自己情况的解决方案。
我收到类似的JSON:
{
"parent:array": [
{
"child:value": "test1",
"child:array": [
{
"child:subvalue": "test3"
}
]
},
{
"child:value": "test2",
"child:array": [
{
"child:subvalue": "test4"
}
]
}
]
}
我可以通过执行以下操作来访问child:value
(其中response
是JSON):
var parameters = response['parent:array'];
$.each(parameters, function (idx, data) {
var childValue = data['child:value'];
});
但是,我还无法检索child:subvalue
。它可以作为each
的一部分吗?
我尝试了以下方法但没有成功:
response['parent:array']['child:array']
和...
var childSubvalue = data['child:array']['child:subvalue'];
答案 0 :(得分:2)
"child:array"
是一个数组,因此您需要提供一个索引来选择,如下所示:
var childSubvalue = data['child:array'][0]['child:subvalue'];
答案 1 :(得分:1)
一旦你的json有效:
$.each(parameters, function (idx, data) {
var childValue = data['child:value'], childArray = data['child:array'];
$.each(childArray, function(i, d) {
alert(d['child:subvalue']);
});
});
答案 2 :(得分:0)
使用array.forEach;
遍历外部和内部数组var json = {
"parent:array": [
{
"child:value": "test1",
"child:array": [
{
"child:subvalue": "test3",
}
]
},
{
"child:value": "test2",
"child:array": [
{
"child:subvalue": "test4"
}
]
}
]
}
json["parent:array"].forEach(function(parent) {
console.log(parent["child:value"]);
parent["child:array"].forEach(function(child) {
console.log(child["child:subvalue"]);
});
});