typescript - 使用 Ionic 2 和 typescript 解析 JSON

标签 typescript angular ionic2

我正在尝试从 randomuser.me api 解析一些 JSON 数据,为此我在网上找到了一些教程,但最近在 Ionic 2 中发生了一些变化,因为它们都不起作用。

这是我所拥有的:

import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
import {Http} from '@angular/http';


@Component({
  templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
  items : any;
  //http://api.randomuser.me/?results=10

  constructor(private navController: NavController, private http: Http) {

    this.http.get("http://api.randomuser.me/?results=10").subscribe(data => {
        console.log("Got data");
        this.items=JSON.parse(data._body).results; // this is the error
        console.log(this.items);
    });
  }

  itemClicked(event, item) {
    console.log(item.title);
    //console.log(event);
  }


}

在终端我可以看到错误: data._body - 属性“_body”是私有(private)的,只能在类“Response”中访问。

我能做什么?

最佳答案

data._body for data.text(),

你应该使用 data.json() 而不是 data.text() 然后解析它

this.items = data.json();

https://angular.io/docs/ts/latest/guide/server-communication.html#!#extract-data

关于typescript - 使用 Ionic 2 和 typescript 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38255717/

相关文章:

javascript - 如何使按钮从数组中默认单击

angular - 包含一个具有依赖项的模块作为 Webpack 中的入口点(Angular 2 Typescript)

android - 为什么 Chromebook 的 Android 我的应用程序是 "Unsupported"?

Cordova 插件不工作

javascript - 如何在 Typescript 中声明 NPM 的模块公共(public)类型定义

javascript - 如果 Typescript 中不为 null,则声明环境变量

Typescript - 如何将对象转换为界面

angular - 错误 NG8003 : No directive found with exportAs 'ngForm'

angular - d3v4 + Typescript + angular2 错误使用 d3.line().x((d) => {function})

angular - 如何在 angular2 和 ionic2 中同时保留组件的 DOM 元素和模板字符串