[英]ionic 3 - Extract data from nested JSON into an array
所以我在尝试解析json文件以将其存储到数组时遇到问题。
这是我从以下位置解析JSON的API站点: https : //data.gov.sg/api/action/datastore_search? resource_id = 139a3035-e624-4f56-b63f-89ae28d4ae4c & limit =5
下载文件成功,但是现在的问题是,每次我尝试通过console.log()
查看内容时,都将其内容解析为数组,我一直在获得[object Object]
作为回报。 我的目标是将json中的结果/记录的内容存储到数组中,并将其返回给父方法
我在某处做错了吗?
这是我的代码:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class CarparkInfoService {
constructor(public http: HttpClient) {
console.log('Carpark Info Service Provider');
}
getCarparkData(): Observable<any> {
let data1: Observable<any>;
data1 = this.http.get('https://data.gov.sg/api/action/datastore_search?resource_id=139a3035-e624-4f56-b63f-89ae28d4ae4c&limit=5');
console.log("data=" + data1); // Returns [object Object]
return data1;
}
}
因此,问题在于您希望查看json数据,而甚至没有从服务中提取它,因为控制台日志是可观察到的:
//下面的返回值可观察
getCarparkData(): Observable<any> {
let data1: Observable<any>;
data1 = this.http.get('https://data.gov.sg/api/action/datastore_search?resource_id=139a3035-e624-4f56-b63f-89ae28d4ae4c&limit=5');
console.log("data=" + data1); // Returns [object Object]
return data1;
}
因此,要获取和解析数据,您需要订阅此可观察对象,该对象将一次调用此api:
getJson() {
this.getCarparkData().subscribe( data => {
console.log(data)
// here you can work with your json
}
}
因此,请确保您订阅了可观察的对象,它将“激活”对API的调用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.