Foreach Json 结果 Ionic Angular

Foreach Json results Ionic Angular

我希望能够从 JSON 文件中检索结果,但找不到解决方案。 我可以从正常 JSON 中检索,但不能以对象格式检索。

打字稿

this.http.get('http://example.com/api')
  .subscribe((data) => {
    console.log(data);
  });

APIJSON文件是这样显示的:

{
  1: {id:1, name: "string"}
  2: {id:1, name: "string"}
  3: {id:1, name: "string"}
  4: {id:1, name: "string"}
}

我希望之后能够循环此数据

<ion-item *ngFor="let item of data" >
  <div>
    {{item.name}}
  </div>
</ion-item>

提前致谢

这是我的问题的答案:

<ion-item *ngFor="let item of data | keyvalue" >
  <div>
    {{ item.key }} {{ item.value['data'] }}
  </div>
</ion-item>

您有多种可能遍历此响应对象:

  1. 使用 angular 中的 keyvalue 管道:*ngFor item of data | keyvalue
  2. 使用 Object.values(data)Object.entries(data) 转换为数组。前者只给你值对象,后者也给你“数字”

您需要记住的是:返回的对象没有定义的顺序。因此,如果您使用任何一种方法,迭代的顺序都没有定义并且可以是随机的。

它可能适合您的 machine/browser 但您不应该依赖它。因此,请确保在将数据转换为数组后对数据进行排序(如果数据应该是有序的)。

如果顺序是由原始对象中的“数字”键给出的,我建议使用 Object.entries,这将为您提供一个键值元组数组

[[1, {id:1, name: "string"}], [...], ...]

您可以按第一个元组项轻松排序。