【问题标题】:How to extract key-value pair from nested json如何从嵌套的json中提取键值对
【发布时间】:2019-07-18 18:20:46
【问题描述】:

我有像这样的嵌套 json 对象

{
    "id": 1,
    "parentId": null,
    "name": "Product",
    "children": [
        {
            "id": 50,
            "parentId": 1,
            "name": "Bicycle",
            "children": [
                {
                    "id": 100,
                    "parentId": 50,
                    "name": "Tire"
                }
            ]
        }
    ]
}

奇怪的是,我已经知道如何从结果中构建嵌套树,但不知道如何反转它。

我尝试过使用lodash _.flatten and _.flattendeep,但有一天我无法理解这一点。物体也可以是未知深度。有什么想法吗 ?

我想要的结果是这样的。

[
    {"id" : 1, "parentId" : null, "Product" },
    {"id" : 50, "parentId" : 1 , "Bicycle"},
    {"id" : 100, "parentId" : 50 , "Tire"}
]

【问题讨论】:

    标签: json flatten


    【解决方案1】:

    不是一个非常理想的解决方案,只是一个想法,注意:如果数据集非常大,可能会出现一些性能问题。

    resultsArray = [];
    function flatten(obj) {
        const { id, parentId, name, children} = obj;
        if(children && children.length) {
            children.map(child => flatten(child));
        }
        resultsArray.push({id, parentId, name});
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-26
      • 2020-10-30
      • 2022-10-21
      • 2023-03-11
      • 1970-01-01
      • 2023-01-18
      • 2016-03-12
      • 2018-09-08
      • 2016-08-19
      相关资源
      最近更新 更多