我有一个简单的REST服务,它返回类似于以下内容的JSON:
{"id":123,
"name":"Sam",
"transactions":[
{"date":"2018-05-31","amount":29.99,"desc":"shirt"},
{"date":"2018-05-31","amount":42.99,"desc":"pants"},
{"date":"2018-05-31","amount":59.99,"desc":"shoes"}
]
}
我正在尝试在Angular组件(.ts)中引用它来处理数据。我可以使用以下方法在html模板中很好地阅读它:
<tr *ngFor="let transaction of accountTransactions.transactions ">
<td> {{ transaction.date}} </td>
<td> {{ transaction.amount}} </td>
<td> {{ transaction.desc}} </td>
</tr>
当我在组件中时,从promise收到值之后,我可以访问返回数据的“ main”属性(id和name),但是我无法弄清楚要使用的语法或方法获取数组中的数据:
public getAccountTransactions() {
this.apiService.getAccountTransactions(this.acct).toPromise().then(data => {
console.log('in getAccountTransactions');
this.accountTransactions = data;
console.log(data.id); // this works fine
console.log(this.accountTransactions.id) // this works fine
console.log(this.accountTransactions.transactions[0].amount) // this doesn't work
}
任何帮助将不胜感激。谢谢。
答案 0 :(得分:1)
您的代码实际上没有任何错误。您应该检入apiService以查看是否有问题。
在JSON中的普通对象中发生错误,实际上并没有什么特别的事情要做。您的对象中根本没有交易[0]