我正在尝试用 html 构建动态树结构。我从数据库中获取嵌套 json 格式的结果。
我无法正确读取 json 数据。它的格式是
[ { keys_1 : { keys_2 : [ array ] } } ]
在树结构中,key_1 是 parent , key_2 是 childern,array items 是 grand-childern。
如何访问此 json 数据以便我可以读取父键、关联的子项和孙子项。
我试过这种方式,但做不到:
for (var i = 0; i < response.length; i++) {
var level_1 = (JSON.stringify((Object.keys(response[i]))[0])).replace(/"/g, "");
for (var j = 0; j < response[i].length; j++) {
console.log("yes");
}
}
甚至,我无法弄清楚如何输入具有不同键值的嵌套 json。 - 所有的 key 都不一样。 - key 可能有/可能没有 child , child 也一样。
如何以这种方式读取 json 数据,以便首先读取一个父子,然后读取孙子?
最佳答案
您可以使用嵌套方法,因为您具有以下结构:
- 数组:迭代,
- 对象:获取用于迭代的键,
- 对象:获取用于迭代的键,
- 数组:迭代。
var data = [{ 1000: { 110: ["1000110008", "1000110005", "1000110004", "1000110003", "1000110001", "1000110009"], 100: ["1000100001", "1000100002", "1000100019", "1000100018", "1000100017", "1000100015", "1000100014", "1000100013", "1000100003", "1000100004", "1000100006", "1000100007", "1000100008", "1000100009", "1000100011"] } }, { 1020: { 102: ["1020102001"] } }];
data.forEach(function (o) {
Object.keys(o).forEach(function (k) {
Object.keys(o[k]).forEach(function (l) {
o[k][l].forEach(function (v) {
console.log(k, l, v);
});
});
});
});
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 使用json在html中构建树结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48214100/