【问题标题】:iterate over JSON object response in angular 5以角度 5 迭代 JSON 对象响应
【发布时间】:2018-05-12 01:32:29
【问题描述】:

我有一个来自 REST 响应的 JSON 对象,它希望循环其项目并显示在 UI 中,这是响应的结构:

 {"Items":
    {"releases":
    [{"last":"365147","first":"365987","relNo":"1","files":[{"fileId":"1","url":"http://....."},{"fileId":"2","url":"http://....."}}],"publish":"Yes"},{"last":"365147","first":"365987","relNo":"2","files":[{"fileId":"1","url":"https://...."},{"fileId":"2","url":"http://....."},{"fileId":"3","url":"...."},{"documentId":"4","url":"http://....."}],"publish":"No"}]}

关于我正在做的服务:

this.myService.getDetails(id).subscribe (data => {  
      this.items = data;
      console.log (JSON.stringify(this.items));
    })

【问题讨论】:

    标签: json angular5


    【解决方案1】:

    在您的模板中,您需要一个 ngFor。似乎您的组件中有一个名为 items 的变量,所以您需要类似:

    <div *ngFor="let item of items">
        {{item.releases}} // or item.whatever field you would like to access
    </div>
    

    【讨论】:

    • 谢谢 :) 是的,我声明过 items = JSON [ ] ;如何访问版本的属性...例如,如果想从 relNo.1 或 relNo2 的下拉列表中选择详细信息,...等
    • 在您的组件中,您应该提取版本并将其分配给items,因此不要让它成为整个JSON,只需获取Items.releases。这会给你一个数组。然后在您的模板中,您按照我的答案循环并通过{{ item.relNo }} 获取 relNo
    • 感谢回复,您的意思是声明items = JSON [items.relseases] 之类的项目,如何精确提取发布?
    • 在您的 api 调用中:this.items = data.Items.releases
    • 我应该使用 *ngFor 来显示完整的对象结果吗?例如 relNo1 将从选择列表中选择的选项 1 中提取...等等
    猜你喜欢
    • 2016-01-25
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 2016-09-22
    相关资源
    最近更新 更多