[
{"a":
[
[
{"b":
[{"c":"one"},{"d":"1"}]
}
],
[
{"b":
[{"c":"two"},{"d":"2"}]
}
],
[
{"b":
[{"c":"three"},{"d":"3"}]
}
]
]
}
]
遍历代码如下:
for (var i = 0i <arr.lengthi++) {
for (var j = 0j <arr[i]['a'].lengthj++) {
// 做你需要的操作对c值
console.log(arr[i]['a'][j][0]['b'][0]['c'])
}
}
如果还有问题请像我提问,前端相关资料。
如果这是一次返回的json,那么你要分成3级显示,就需要分3级显示的不同点在那里观察了你的json数据,json的字段都是相同的,因此想通过字段不同加以区别行不通,但是我看到你json字符串中有一个parentId,而且每一个的parentId都是不一样,我想你可以通过这个加以区分:
if(parentId == "1001"){alert("学段")}if(parentId == "1002"){alert("学科")}if(parentId == "1003"){alert("版本")}
使用递归,下面是一个JSON转String的函数应该会对你有所帮助
function jsonToString (obj){var THIS = this
switch(typeof(obj)){
case 'string':
return '"' + obj.replace(/(["\\])/g, '\\$1') + '"'
case 'array':
return '[' + obj.map(THIS.jsonToString).join(',') + ']'
case 'object':
if(obj instanceof Array){
var strArr = []
var len = obj.length
for(var i=0 i<len i++){
strArr.push(THIS.jsonToString(obj[i]))
}
return '[' + strArr.join(',') + ']'
}else if(obj==null){
return 'null'
}else{
var string = []
for (var property in obj) string.push(THIS.jsonToString(property) + ':' + THIS.jsonToString(obj[property]))
return '{' + string.join(',') + '}'
}
case 'number':
return obj
case false:
return obj
}
}