我有一个嵌套的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,但我对任何可以更容易完成的库开放。
这让我疯了一个星期!
提前致谢所有帮助/贡献