如何使用angular 2重新排列JSON
我有一个类似这样的JSON如何使用angular 2重新排列JSON,json,typescript,Json,Typescript,我有一个类似这样的JSON const err = [ { "Error": Name Not Valid", "Content": [ { "Name": "Johnz" } ] }, { "Error": "Data Not Valid", "Content": [ {
const err = [
{
"Error": Name Not Valid",
"Content": [
{
"Name": "Johnz"
}
]
},
{
"Error": "Data Not Valid",
"Content": [
{
"Investor": "3785388",
"ManagedBy": "Johnz"
},
{
"Investor": "1111111",
"ManagedBy": "Mary"
}
]
}]
我如何设置它使其看起来像这样?我需要将内容数组中出现的任何内容移动到标题所在的主结构中
const err= [
{
"Error": "Name Not Valid",
"Name": "Johnz"
},
{
"Error": "Data Not Valid",
"Investor": "3785388",
"ManagedBy": "Johnz"
},
{
"Error": "Data Not Valid"
"Investor": "1111111",
"ManagedBy": "Mary"
}]
如果为err变量定义最小类型,则会有所帮助 那么,一个选择就是:
const err:{Error:string,Content:any[]}[]=[
{
“错误”:“名称无效”,
“内容”:[
{
“姓名”:“Johnz”
}
]
},
{
“错误”:“数据无效”,
“内容”:[
{
“投资人”:“3785388”,
“管理人”:“Johnz”
},
{
“投资人”:“1111111”,
“管理人”:“玛丽”
}
]
}];
const flattederError=err.map(错误=>{
常量展平={error:error.error};
返回错误。内容。减少((acc,curent)=>{
Object.keys(curent.forEach)((key)=>{
acc[键]=当前[键];
});
返回acc;
},变平);
});
可以找到一个工作示例。您展示的不是JSON,而是JS代码(或ECMA脚本或typescript,或任何今天流行的风格)。这还有一个作用。我可以使用该方法添加默认的空字段吗?假设我想在第一个数组中添加“Investor”和“ManagedBy”,在第二个数组中添加“Name”。如何动态地执行此操作?如果需要,可以使用它们初始化展平对象。但是,除非您需要将它们作为空字符串,否则在大多数情况下,未定义属性的行为基本相同。