首页 > 解决方案 > 如何迭代对象而不是数组

问题描述

我想从此网址http://mindicador.cl/api检索 json 数据。但具体来说,我想检索所有对象,如“uf”、“ivp”等,然后将它们显示在表格或列表中。不幸的是,没有数组格式,所以如何迭代那里?

{
    "version": "1.5.0",
    "autor": "mindicador.cl",
    "fecha": "2018-10-24T17:00:00.000Z",
    "uf": {
        "codigo": "uf",
        "nombre": "Unidad de fomento (UF)",
        "unidad_medida": "Pesos",
        "fecha": "2018-10-24T04:00:00.000Z",
        "valor": 27413.56
    },
    "ivp": {
        "codigo": "ivp",
        "nombre": "Indice de valor promedio (IVP)",
        "unidad_medida": "Pesos",
        "fecha": "2018-10-24T04:00:00.000Z",
        "valor": 28523.73
    }
}

我想遍历所有对象,即“uf”、“ivp”等。我该怎么做?它不是一个数组,所以我猜我不能使用 map。

这是我的服务方法:

search(): Observable<Object> {
    const queryUrl = this.apiUrl;
    return this.http.get(queryUrl);
  }

标签: jsonangulartypescript

解决方案


您应该解析您的 HTTP GET 返回的 JSON 对象并将其视为一个对象,以便您可以访问 JSON 对象的每个成员。

this.search().subscribe( data => {
    let jsonObject: any = JSON.parse(data);
    console.log(jsonObject);
    // parse through jsonObject members
});

推荐阅读