0

我在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 制作一个树形这个树变量。多变的。

4

3 回答 3

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);
于 2013-03-14T12:46:33.840 回答
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的解析器中

于 2013-03-14T12:41:01.363 回答
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));
于 2013-03-14T12:35:00.517 回答