如何在json中迭代数据数组请检查我的代码
Object {bhanu : Array[3], root: Array[12], hari: Array[7], balu: Array[1], santha: Array[6]}
我想迭代这个数组如何做到这一点 我这样使用
function orgChartResult(result)
{
var userOrgUsers = JSON.parse(result);
for(var name in userOrgUsers) {
console.log(name + "=" + userOrgUsers[name]);
}
console.log(userOrgUsers);
}
但它提供了所有数据。但我想只读取firstNode数据bhanu中的意思:Arrat [3];我的数组大小是3然后下一个数组大小是12我怎么能逐一阅读
答案 0 :(得分:0)
我想我会继续回答这个,因为看起来你只需要循环数组。
function orgChartResult(result) {
var userOrgUsers = JSON.parse(result);
for(var name in userOrgUsers) {
console.log(name + "=" + userOrgUsers[name]);
for (var i = 0; i < userOrgUsers[name].length; i++) {
console.log(userOrgUsers[name][i]);
}
}
}
所以这只是在for
找到的数组上进行非常典型的userOrgUsers[name]
循环。
如果数组中的每个项目也是对象,则可以添加另一个循环来枚举属性。
function orgChartResult(result) {
var userOrgUsers = JSON.parse(result);
for(var name in userOrgUsers) {
console.log(name + "=" + userOrgUsers[name]);
for (var i = 0; i < userOrgUsers[name].length; i++) {
console.log(userOrgUsers[name][i]);
for (var name2 in userOrgUsers[name][i]) {
console.log(userOrgUsers[name][i][name2]);
}
}
}
}
如果由于某种原因你不知道JSON的结构,你可以使用一个递归函数来迭代任何Array和Object,并在所有其他成员上调用回调。还有许多其他问题可以解决这个问题。