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>
您有多种可能遍历此响应对象:
- 使用 angular 中的
keyvalue
管道:*ngFor item of data | keyvalue
- 使用
Object.values(data)
或 Object.entries(data)
转换为数组。前者只给你值对象,后者也给你“数字”
您需要记住的是:返回的对象没有定义的顺序。因此,如果您使用任何一种方法,迭代的顺序都没有定义并且可以是随机的。
它可能适合您的 machine/browser 但您不应该依赖它。因此,请确保在将数据转换为数组后对数据进行排序(如果数据应该是有序的)。
如果顺序是由原始对象中的“数字”键给出的,我建议使用 Object.entries
,这将为您提供一个键值元组数组
[[1, {id:1, name: "string"}], [...], ...]
您可以按第一个元组项轻松排序。
我希望能够从 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>
您有多种可能遍历此响应对象:
- 使用 angular 中的
keyvalue
管道:*ngFor item of data | keyvalue
- 使用
Object.values(data)
或Object.entries(data)
转换为数组。前者只给你值对象,后者也给你“数字”
您需要记住的是:返回的对象没有定义的顺序。因此,如果您使用任何一种方法,迭代的顺序都没有定义并且可以是随机的。
它可能适合您的 machine/browser 但您不应该依赖它。因此,请确保在将数据转换为数组后对数据进行排序(如果数据应该是有序的)。
如果顺序是由原始对象中的“数字”键给出的,我建议使用 Object.entries
,这将为您提供一个键值元组数组
[[1, {id:1, name: "string"}], [...], ...]
您可以按第一个元组项轻松排序。