繁体   English   中英

ionic 3-将嵌套JSON中的数据提取到数组中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM