我目前收到一个嵌套很深的 web api JSON 响应,我想对其进行重组,只提取我需要的数据并使其更简单。
我如何在 Angular 2+/Typescript 中执行此操作?
非常感谢任何帮助。
假设我有这样的东西:
"O1": {
"P1": "Something",
"A1": [{
"P2": "Something",
"A2": [{
"P3": "Something"
}]
}]
"P4": "Something"
}
我想将其重组为:
"O1": {
"P1": "Something",
"P2": "Something",
"P3": "Something"
}
我可以在构造函数的类中重建模型吗?如果是这样,到目前为止我还没有在网上找到任何东西。
如果我需要提供任何进一步的信息,请告诉我。
谢谢
最佳答案
让我们使用 snippet which was proposed 展平初始对象.然后我们可以过滤那些我们需要包含在最终对象中的属性:
function filterObj(obj: any, propsForFilter: string[]) {
const result = {};
for (let prop in obj) {
const filteredProp = propsForFilter.find(p => prop.includes(p));
if (filteredProp) {
result[filteredProp] = obj[prop];
}
}
return result;
}
const flattened = flattenObject(obj);
console.log(flattened, filterObj(flattened, ['P1', 'P2']));
此方法 filterObj
接受属性数组,以便将它们包含在最终结果中。希望这对您有所帮助。
关于json - 在 Angular 2+ 中重构 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52026875/