javascript - 使用json在html中构建树结构

标签 javascript jquery json

我正在尝试用 html 构建动态树结构。我从数据库中获取嵌套 json 格式的结果。

JSON DATA

我无法正确读取 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/

相关文章:

javascript - css 样式不工作和 js

javascript - 如何从 Javascript 中的迭代器内部返回一个值

json - 如何使用附加大括号访问 JSON

ruby-on-rails - 将 json 响应与哈希数组进行比较

javascript - 如何锁定文本输入框的焦点以使其始终处于事件状态?

javascript - ng-repeat 中的 Angular.js $watch 指令

php - Jquery 和 PHP 函数

javascript - jQuery:通过 id 删除元素

android - 如何从android中的JSONObject中提取值

javascript - 从事件获取文件时, typescript 对象可能为空