注意:我不需要在HTML模板中迭代json数据的解决方案。我可以通过* ngFor来做。我想在component.ts中这样做,我实际上得到了响应。
我在propload.service.ts中有一个服务,它提供了属性文件中的键和值对列表。
`getData(): Observable<Object[]> {
return this.http.get(this.dummyDataUrl)
.map((response:Response)=>response.json())
.catch(this.handleError);
}`
我在demo.component.ts文件中调用此服务,如下所示
`ngOnInit():void
{
this.dummyService.getData().subscribe(response=> {
console.log(response)
});
}`
在这里,我可以在控制台中整体记录完整的json响应对象,我可以使用chrome中的开发人员选项查看。如果我展开该对象,那么我将获得来自属性文件的键值对。直到这么多它才能正常工作。
我无法从第二个代码片段中的响应对象访问键值对,就在console.log()的正下方,我希望能够有一些for循环或其他方式这样我就可以单独获得键值对。
最终任务是能够将这些数据存储在浏览器的会话存储中。我已经有了这样做的方法,但为此我需要单独的键和值对,以便能够在两者之间执行一些修改,然后在会话存储中记录相同的内容。
我尝试了一些内置的方法,比如response.keys,它应该返回所有键的列表,但是如果我尝试记录它,仍然在控制台中,我每次都会得到未定义。
任何人都可以建议我如何得到结果?
非常感谢。
答案 0 :(得分:6)
使用Object.keys(response)
获取包含所有键的数组