0

我有表格中的项目列表

ID - 家长 ID - 姓名

该列表在 JSON 中,如下所示

[
    {
        "id": 1,
        "parent_id": 0,
        "name": "item 1"
    },
    {
        "id": 2,
        "parent_id": 0,
        "name": "item 2"
    },
    {
        "id": 3,
        "parent_id": 1,
        "name": "item 3"
    }
]

如何使用 javascript 将其转换为这样的嵌套列表?(没有嵌套级别限制)

[
    {
        "id": 1,
        "parent_id": 0,
        "name": "item 1",
        "children": [
            {
                "id": 3,
                "parent_id": 1,
                "name": "item 3"
            }
        ]
    },
    {
        "id": 2,
        "parent_id": 0,
        "name": "item 2"
    }
]
4

1 回答 1

0

这几乎是 python 中的一个衬垫(假设每个父母只有一个孩子)

import json
from pprint import pprint

Data = '[{"id": 1,"parent_id": 0,"name": "item 1"},
         {"id": 2,"parent_id": 0,"name": "item 2"},
         {"id": 3,"parent_id": 1,"name": "item 3"}]'
List = json.loads(Data)
[[IItem.update({'children' : List.pop(List.index(Item))})  for IItem in List if Item['parent_id'] == IItem['id']] for Item in List]
Data = json.dumps(List)
pprint(Data)

如果您需要多个孩子,这会稍微改变一些事情。

于 2012-05-18T10:43:39.907 回答