制作树形式[{“id”:1},{“id”:2,“children”:[{“id”:3},{“id”:4},{“id”:5,“children “:[{” ID“:6}]}]

时间:2013-03-14 12:02:17

标签: javascript

我在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帮助树形成这个树变量。  变量

3 个答案:

答案 0 :(得分:0)

在我看来,没有多少东西。我发现了一些拼写错误,但除此之外,它是一个JSON结构。在第二个“孩子”之后有一个结肠缺失,一些右侧括号也丢失了。我删除了引号。

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));

答案 1 :(得分:0)

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

的解析器中

答案 2 :(得分:0)

有一些拼写错误,请参阅评论。 无论如何,您只需使用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);