如何在angularTS中迭代一个JSON对象数组?

问题描述 投票:-2回答:1

我有一个通过API调用获取的JSON对象数组,存储在一个名为--的变量中。dataInfo : any,

[
  {
    "City": "SGM",
    "State": "Rajasthan",
    "District": "Ganganagar"
  },
  {
    "City": "A.Thirumuruganpoondi",
    "State": "Tamil Nadu",
    "District": "Coimbatore"
  }
.
.
.
]

我想在这个'dataInfo'数组中循环,得到所有的状态并存储在另一个数组中,但我得到一个错误信息 ERROR TypeError: this.dataInfo is not iterable 当我使用 for (let x of this.datInfo) 循环.我也试过用 .mapObject.keys 但它给出了错误。

(我想在外面使用这个方法 .subscribe())

我如何在我的.ts文件中实现这个功能?

以下是我的代码

export class GeoComponent implements OnInit {

dataInfo: any ;

constructor(private http: HttpClient) { }。

ngOnInit() {

let response = this.http.get("https://indian-cities-api- 
nocbegfhqg.now.sh/cities");
response.subscribe((data) => this.dataInfo = data
);

this.sortData();

}

sortData() {

// TYPE CODE HERE

}

}

angular
1个回答
0
投票

考虑到你已经导入了&正确声明了HttpClient&HttpClientModule。你可以做以下工作。

this.httpClient.get(this.baseURL + "/api-endpoint").subscribe((res: any) => {
     this.datInfo = JSON.parse(JSON.stringify(res));
    },
    err => {
      console.log(err);
    },
    () => {
      this.sortData()
     }
   )
  }

sortData() {
 // Code to Sort this.datInfo
}
© www.soinside.com 2019 - 2024. All rights reserved.