首页 > 解决方案 > 如何在 Angular 8 中访问 JSON 响应中的数据?

问题描述

我正在从网络服务器取回数据,并且正在尝试访问 JSON 对象中的数据。我在访问它时遇到了一些问题。

JSON 看起来像这样:

{
     "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
  }
}

但它不起作用,任何帮助将不胜感激。

标签: jsonangularweb

解决方案


你变得不确定是因为

const fault = data[0];
const fault2 = data[1];

由于您的数据是对象而不是数组,因此故障 [0] 不存在

尝试

const fault = data.faults[0];
const fault2 = data.faults[1];

推荐阅读