以角度 6 处理 json 对象
Posted
技术标签:
【中文标题】以角度 6 处理 json 对象【英文标题】:Handling json objects in angular 6 【发布时间】:2019-03-01 02:06:07 【问题描述】:我得到一个像下面这样的 json 对象
response = [
'a': [
'b': [
'c': [
'name': 'abc',
'value': 900
]
]
]
,
'a': [
'b': [
'c': [
'name': 'abc',
'amount': 900
]
]
]
];
现在我正在使用下面的代码循环对象
this.response.forEach(
(event) =>
event.a.forEach(
() =>
);
)
在编译时我收到一条错误消息
error TS2349: Cannot invoke an expression whose type lacks a call signature. Type '((callbackfn: (value: 'b': 'c': 'name': string; 'value': number; []; []; , index: number...' has no compatible call signatures.
上述错误的任何修复?提前致谢
【问题讨论】:
***.com/questions/39691889/… 是什么给了你这样的回应? 可能是因为您在内部forEach
中使用了无参数 lambda () => ...
。使用(b) => ...
可能会解决问题。
【参考方案1】:
这是访问 c.name 和 c.amount
的方式response.forEach(element =>
element['a'].forEach(a =>
a['b'].forEach(b =>
b['c'].forEach(c =>
console.log(c.name);
console.log(c.amount);
);
);
);
);
JSFiddle => https://jsfiddle.net/jpwga2du/
【讨论】:
【参考方案2】:this.response.forEach((el1: any) =>
el1.a.forEach((el2: any) =>
el2.b.forEach((el3: any) =>
el3.c.forEach(el4 =>
console.log(el4)
);
);
);
);
【讨论】:
以上是关于以角度 6 处理 json 对象的主要内容,如果未能解决你的问题,请参考以下文章