2011-02-26 29 views
1

我需要在JSON对象中表示此层次结构。有人可以帮我吗 ?在JSON对象中表示层次结构

- John 
--- Lee 
------ Nash 
--------- Tim 
------ Nicole 
------ Kelly 
--- Alice 
--- Stanley 
+0

这是一个JSON或JavaScript问题? JSON和JavaScript对象文字符号非常相似,但除此之外,JSON与JavaScript无关。所以如果你只谈论JSON,你就不需要JavaScript。名称之间的关系是什么? – 2011-02-26 21:39:46

+0

所以,这个例子可以给出一个简单的例子,下面是DrStrangeLove接受的例子 - 这是因为你只会遇到每个名字一次,并且我们假设有非常简单的逻辑消耗数据。 更强大的解决方案可能包括每个人的UUID/GUID标识符,名称和通过UUID/GUID指定父实体的列表类型字段,以提供创建层次关系的能力。对于超过1位家长来说,这个策略下的事情会变得混乱。 – BradChesney79 2017-09-10 21:02:06

回答

6
{ 
    "name": "John", 
    "children": [ 
    { 
     "name": "Lee", 
     "children": [ 
     { 
      "name": "Nash", 
      "children": [{ "name":"Tim"}] 
     }, 
     { 
      "name": "Nicole" 
     }, 
     { 
      "name": "Kelly" 
     } 
     ] 
    }, 
    { 
     "name": "Alice" 
    }, 
    { 
     "name": "Stanley" 
    } 
    ] 
} 
+0

这是无效的JSON。 – 2011-02-26 22:05:39

+0

有没有一种方法来验证JSON?像HTML/XHTML一样,CSS? – DrStrangeLove 2011-02-26 22:09:12

+0

http://www.jsonlint.com/ – 2011-02-26 22:11:04

-1

尝试这样:

{"name": "John", "children": [ {"name": "Lee", "children": {...}}, {name:"Alice", "children": {..}} ] } 
+0

这不是有效的JSON。 – 2011-02-26 22:05:16

+0

哦对,我忘了把钥匙放在引号 – Gobhi 2011-02-26 23:47:36

0
["John", [ 
    ["Lee", [ 
     ["Nash", [ 
      ["Tim"] 
     ]], 
     ["Nicole"], 
     ["Kelly"] 
    ]], 
    ["Alice"], 
    ["Stanley"] 
]] 
3

如何:

{ 
    "John" : { 
     "Lee" : { 
      "Nash" : { 
       "Tim" : null 
      }, 
      "Nicole" : null, 
      "Kelly" : null 
     }, 
     "Alice" : null, 
     "Stanley" : null 
    } 
} 

的关系,无论是儿童或者以其他方式,通过暗示树层次结构。

+0

可能会更好地使用空表('{}')而不是'null'。可能更容易处理。 – Eric 2011-03-01 18:50:11