使树形式[{“id": 1},{“id": 2,“children":[{“id":

make a tree form [{"id":1},{"id":2,"children":[{"id":3},{"id":4},{"id":5,"children":[{"id":6}]}]

本文关键字:quot id children      更新时间:2023-09-26

我在javascript中有一个像这样的字符串变量:

var tree='[{"id":1},{"id":2,"children":[{"id":3},{"id":4},{"id":5,"children"[{"id":6}]}]';
now i want to create a tree from this in which
# 1 and 2 will at same level
# 3 ,4 ,5 will be the sub nodes of 2.
# 6 will be the sub node of 5.

请帮助用javascript或jquery从这个树变量中生成一个树。变量。

在我看来,这没什么大不了的。我发现了一些错别字,但除此之外,它是一个JSON结构。第二个"children"后面少了一个冒号,也少了一些右括号。我去掉了引号

var tree = [{
      "id" : 1
    }, {
      "id" : 2,
      "children" : [{
          "id" : 3
        }, {
          "id" : 4
        }, {
          "id" : 5,
          "children" : [{ //missing colon
              "id" : 6
            } //missing bracket
          ] //missing bracket
        }
      ]
    }
  ];
  console.log(JSON.stringify(tree[0]));
  console.log(JSON.stringify(tree[1]));
  console.log(JSON.stringify(tree[1].children));
var tree='[{"id":1},{"id":2,"children":[{"id":3},{"id":4},{"id":5,"children"[{"id":6}]}]';
var objTree = JSON.parse(tree);
console.log(objTree);

只是提醒一下,您有几个拼写错误-要找到它们,只需将字符串放入http://jsonlint.com

的解析器中即可。

有一些错别字,请参阅注释。不管怎样,你只需要使用JSON.parse

进行转换
var tree='[{"id":1},{"id":2,"children":[{"id":3},{"id":4},{"id":5,"children":[{"id":6}]}]}]'; 
//Missing ':' near 'children' and '}]' at the end
var array = JSON.parse(tree);