【发布时间】:2018-07-04 04:48:40
【问题描述】:
我正在尝试从 API 加载数组并使用 Angular 5 将其显示在表格中。
我的代码听起来很简单:
import { HttpClient } from '@angular/common/http';
export class CryptreviewComponent implements OnInit {
public results:Review[] = [];
constructor(private http: HttpClient) { }
ngOnInit() {
this.http.get('http:...url..').subscribe(data => {
console.log(typeof data);
console.log(typeof this.results);
this.results = data as Review[];
console.log(typeof this.results);
console.log(this.results);
},
err => {
console.log(err);
} );
}
}
interface Review{
coin_id:string;
user_id:number;
name:string;
reach_remark:string;
reach_score:number;
security_remark:string;
security_score:number;
dev_remark:string;
dev_score:number;
transparency_remark:string;
transparency_score:number;
fungibility_remark:string;
fungibility_score:number;
coin_distribution_remark:string;
coin_distribution_score:number;
privacy_remark:string;
pricavy_score:number;
hardened_remark:string;
hardened_score:number;
features_remark:string;
features_score:number;
remarks:string;
links:string;
published:number;
verification_status:number;
}
观点:
<table>
<tr *ngFor="let review of results">
<td>
{{review.coin_id}}
</td>
</tr>
</table>
这是我得到的结果:
字符串->console.log(数据类型);
对象->console.log(typeofthis.results);
字符串->console.log(typeof this.results);
[{"coin_id":"BTC","user_id":13,"name":"","reach_remark":"","reach_score":100,"security_remark":"","security_score": 93,"dev_remark":"","dev_score":70,"transparency_remark":"","transparency_score":81,"fungibility_remark":"","fungibility_score":30,"coin_distribution_remark":"","coin_distribution_score ":66,"privacy_remark":"","privacy_score":71,"hardened_remark":"","hardened_score":100,"features_remark":"","features_score":34,"remarks":"", "links":"","published":0,"verification_status":0}]
-> console.log(this.results);
ERROR 错误:尝试比较 '[{"coin_id":"BT...' 时出错。只有数组 并且允许迭代
我得到的结果似乎是有效的 JSON,但它只是不想成为一个数组。
到目前为止我已经尝试过:JSON.parse(data), data.json()
【问题讨论】:
标签: arrays json angular typescript angular5