如何在Angular 8中访问JSON响应中的数据?
我正在从web服务器获取数据,并尝试访问JSON对象中的数据。我在访问它时遇到一些问题 JSON如下所示:如何在Angular 8中访问JSON响应中的数据?,json,angular,web,Json,Angular,Web,我正在从web服务器获取数据,并尝试访问JSON对象中的数据。我在访问它时遇到一些问题 JSON如下所示: { "faults": [ { "FaultCodeType": "X", "ErrorType": "System", "Description": "Response failed for reason 1" }, { "FaultCodeType": "Y",
{
"faults": [
{
"FaultCodeType": "X",
"ErrorType": "System",
"Description": "Response failed for reason 1"
},
{
"FaultCodeType": "Y",
"ErrorType": "System",
"Description": "Response failed for reason 2"
}
],
"responseInfo": {},
"responseInfo2": {},
"responseInfo3": {}
}
我应该使用JSON.parse吗
JSON.stringify
我的方法是:
loadData(dataPassed) {
this.angularService.searchWithData(dataPassed).subscribe(
data => {
const fault = data[0];
const fault2 = data[1];
console.log('Data is here = ' + data); // returns the JSON
console.log('Request = ' + JSON.stringify(data)); // shows the JSON
console.log(fault); // undefined
console.log(fault2); // undefined
}
}
但它不起作用,任何帮助都将不胜感激 由于以下原因,您将无法定义
const fault = data[0];
const fault2 = data[1];
由于数据不是数组对象,因此错误[0]不存在
试一试
要访问
故障
:
faults.forEach(f -> {
console.log('f.FaultCodeType', f.FaultCodeType);
console.log('f.ErrorType', f.ErrorType);
console.log('f.Description', f.Description);
})
const faults=data.faults代码>
然后您可以迭代这些故障
:
faults.forEach(f -> {
console.log('f.FaultCodeType', f.FaultCodeType);
console.log('f.ErrorType', f.ErrorType);
console.log('f.Description', f.Description);
})
要访问响应信息
,响应信息2
或响应信息3
:
console.log('data.responseInfo', data.responseInfo);
console.log('data.responseInfo2', data.responseInfo2);
console.log('data.responseInfo3', data.responseInfo3);
请告诉我您面临的错误是什么?当I console.log()返回时,数据是未定义的。如果I console.log是整个响应(数据),那么我得到的只是object object。您试图在哪里显示数据/或运行console.logI更新了原始帖子