需要帮助将递归的JSON对象转换为另一个JSON对象。
我的输入对象如下所示:
我需要的输出是:
这是我迄今为止尝试过的内容,但在递归部分卡住了。不确定如何将所有东西结合起来。
我的输入对象如下所示:
{
person:
{
name: 'John Henry',
age: 63
},
children:
[
{
person:
{
name: 'Paul Henry',
age: 40
},
children:
[
{
person:
{
name: 'Tom Henry',
age: 10
}
}
{
person:
{
name: 'Mike Henry',
age: 12
}
}
]
},
{
person:
{
name: 'Wilson Henry',
age: 30
}
},
{
person:
{
name: 'Richard Henry',
age: 59
}
}
]
}
我需要的输出是:
[{
name: 'John Henry',
attributes: { age: 63 },
children:
[
{
name: 'Paul Henry',
attributes: { age: 40 },
children: [
{
name: 'Tom Henry',
attributes: { age: 10 }
},
{
name: 'Mike Henry',
attributes: { age: 12 }
}
]
},
{
name: 'Wilson Henry',
attributes: { age: 30 }
},
{
name: 'Richard Henry',
attributes: { age: 59 }
}
]
}];
这是我迄今为止尝试过的内容,但在递归部分卡住了。不确定如何将所有东西结合起来。
var tree = {};
var getFamilyTree = function (input) {
tree.name = input.person.name;
tree.attributes = { 'age': input.person.age };
tree.children = [];
input.children.forEach(function (child) {
//not sure how to recursively go through the child nodes.
});
};