我希望循环遍历json对象中的嵌套数组。当我从PHP函数收到它时,我的JSON看起来像这样:
{
"min": {
"type": "select",
"data": {
"100000": "120,000",
"120000": "200.000",
"130000": "300.000"
}
},
"max": {
"type": "select",
"data": {
"100000": "120,000",
"120000": "200.000",
"130000": "300.000"
}
}
}
我想要的是一个循环,它通过"数据"中的每个元素。阵列。 我怎样才能做到这一点。我非常确定它必须是 jQuery.each 。
答案 0 :(得分:1)
您正在寻找的是JavaScript中的循环非常酷。
for in循环抓住你的属性。给出你的示例JSON对象for for循环看起来像并执行以下操作:
for (var foo in theJSONObject) {
// foo will be 'min', then 'max'
// to access the sub-groups of min and max you just need another for in loop
for (var spam in foo) { // Here we get 'type' and 'data'
// Here is where JavaScript magic happens!
theJSONObject[foo][spam];
// on the first iteration the above line will access theJSONObject variable
// like this theJSONObject.min.type
// this is because the [] operators on an object will grab the property named
// by what is passed in to them
// example: myWolverineObject['numClaws'] is the same as
// myWolverineObject.numClaws
}
}
或者,您可以使用Object.keys(theJSONObject)来获取可以迭代的对象属性的数组(在这种情况下,它将返回[' min',' max& #39;])。
在jQuery中,您还可以使用$ .each运算符
执行以下操作$.each (theJSONObject, function (key , value) {
// The keys would be 'min' and 'max' and values would be 'type' and 'data'
// off the bat!!
});
希望这会有所帮助!!