推送到嵌套的json对象

时间:2016-09-12 14:27:44

标签: javascript json lodash

我有一个嵌套的JSON对象,我想迭代它并从中构建一个新对象,但我遇到了麻烦。我来自一个PHP背景,这个孩子用PHP非常简单 - 一个只是构建一个数组,并且只要路径在那里就会担心元素不存在PHP会创建它,唉这不是Javascript的情况。

我的JSON如下。

{
    "routes": {
        "/": {
            "label": "Index",
            "id": 1
        },
        "/contact": {},
        "/child0": {
            "label": "Index",
            "id": 1
        },
        "/child1": {
            "label": "Child 1",
            "id": 5
        },
        "/child2": {
            "label": "Child 2",
            "id": 6
        },
        "/subchild1": {
            "label" : "SUB Child 1",
            "id" : 7
        }
    },
    "test": {
        "/": {
            "children": {
                "/child0": {},
                "/child1": {},
                "/child2": {
                    "children": {
                        "/subchild1": {}
                    }
                }
            }
        }
    }
}

我想做的是采取"测试"部分对象并使用输出[ ROUTE ]的内容构建一个新对象(i / e:输出[/] [' children'] [{" label":" Child 1"," route":" / child1"," id" .....},{ ....}]

然后将

转换为类似于以下内容的JSON对象。

{
    "output": {
        "/": {
            "label": "Index",
            "id": 1,
            "route": "/",
            "children": [
                {
                    "label": "Child 1",
                    "id": 5,
                    "route": "/child1"
                },
                {
                    "label": "Child 2",
                    "id": 6,
                    "route": "/child2",
                    "children": [
                        {
                            "label": "SUB Child 1",
                            "id": 7,
                            "route": "/subchild1"
                        }
                    ]
                }
            ]
        }
    }
}

我正在使用lodash,但我对任何可以更容易完成的库开放。

这让我疯了一个星期!

提前致谢所有帮助/贡献

0 个答案:

没有答案