【发布时间】:2017-12-08 19:00:51
【问题描述】:
我正在尝试通过 http 从我的 JSON 文件中获取一些特定数据。 JSON 看起来像这样:
[{"name":"Name1","perc":33},{"name":"Name2","perc":22},{"name":"Name3","perc":41}]
我正在尝试遍历这个检索到的对象,我正在检索它:
this._postService.getParams(_url).subscribe(
data => {
this.results = data.Results
},
error => console.log(error),
() => console.log('Done')
);
getParams() 像这样获取数据
getParams(url: string) {
return this._http.get(url)
.map(res => res.json());
}
我为检索的数据创建了一个接口,将其放在调用服务的同一个 .component.ts 文件中
/*Interface for Stats */
interface stats {
name: string;
percent: number;
}
我计划遍历我检索到的对象并将它们存储在本地数组中,然后循环遍历并显示它们。如何遍历组件文件中的 JSON 对象?我尝试了许多不同的 for 循环,但都失败了。
我尝试了这个但失败了,打字稿无法识别json
let list: string[] = [];
json.Results.forEach(element => {
list.push(element.Id);
});
我完全能够检索数据,因为我在控制台记录了收到的 3 个对象。
【问题讨论】:
-
您收到的错误是什么?
console.log(data)或console.log(data.results)的第二行结果中是否提到了 json 响应? -
另外,我没有看到您的代码在任何地方提到
json。会不会是您使用关键字而不是this.results? -
错误只是ts: 找不到json
-
那么
json没有被定义为参数。请改用 this.results。 -
你到底想在哪里循环这个?
标签: json angular http typescript