Представлять иерархию в объекте JSON - PullRequest
1 голос
/ 27 февраля 2011

Мне нужно представить эту иерархию в объекте JSON. Кто-нибудь может мне помочь?

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

Ответы [ 5 ]

7 голосов
/ 27 февраля 2011
{
  "name": "John", 
  "children": [ 
    {
      "name": "Lee", 
      "children": [
         {
           "name": "Nash", 
           "children": [{ "name":"Tim"}]
         },
         {
           "name": "Nicole"
         },
         {
           "name": "Kelly"
         }
      ]
    },
    {
      "name": "Alice"
    },
    {
      "name": "Stanley" 
    } 
  ] 
}
5 голосов
/ 27 февраля 2011

Как насчет этого:

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

Отношения, будь то дочерние или иные, подразумеваются иерархией дерева.

1 голос
/ 27 февраля 2011
["John", [
    ["Lee", [
        ["Nash", [
            ["Tim"]
        ]],
        ["Nicole"],
        ["Kelly"]
    ]],
    ["Alice"],
    ["Stanley"]
]]
0 голосов
/ 05 февраля 2019

Аналогично принятому ответу, но я думаю, что лучше сделать его массивом на верхнем уровне, в противном случае вы можете поддерживать только одно значение на корневом уровне.Таким образом, вся структура данных также является рекурсивной.

[
  {
    "name": "John", 
    "children": [ 
      {
        "name": "Lee", 
        "children": [
          {
            "name": "Nash", 
            "children": [{ "name":"Tim"}]
          },
          {
            "name": "Nicole"
          },
          {
            "name": "Kelly"
          }
        ]
      },
      {
        "name": "Alice"
      },
      {
        "name": "Stanley" 
      } 
    ]
  }
]
0 голосов
/ 27 февраля 2011

Попробуйте что-то вроде этого:

{"name": "John", "children": [ {"name": "Lee", "children": {...}}, {name:"Alice", "children": {..}} ] }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...