Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
角度2可观测json错误_Json_Angular - Fatal编程技术网

角度2可观测json错误

角度2可观测json错误,json,angular,Json,Angular,上面的代码非常适合这个url 但不适用于此url 任何想法…TIA要使第二个有效,您需要使用 import { Injectable } from '@angular/core'; import { Http,Response } from '@angular/http'; import {Observable} from 'rxjs/Observable'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/catch'; im

上面的代码非常适合这个url

但不适用于此url


任何想法…TIA要使第二个有效,您需要使用

import { Injectable } from '@angular/core';
import { Http,Response } from '@angular/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';


@Injectable()
export class CommentService{
private _url :string ="https://jsonplaceholder.typicode.com/posts"
   constructor(private _http:Http){}
  // method to fetch CommentS from a api service 
 getComments(){

 return this._http.get(this._url)
        .map((response:Response)=> response.json())
        .catch(this._errorHandler);

  }

  _errorHandler(error:Response){
       console.error(error);
     return Observable.throw(error ||"Server Error");

 }

}
因为在这种情况下,数据是对象数组类型的意思

完全是单一物体的物体


要使第二个有效,您需要使用

import { Injectable } from '@angular/core';
import { Http,Response } from '@angular/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';


@Injectable()
export class CommentService{
private _url :string ="https://jsonplaceholder.typicode.com/posts"
   constructor(private _http:Http){}
  // method to fetch CommentS from a api service 
 getComments(){

 return this._http.get(this._url)
        .map((response:Response)=> response.json())
        .catch(this._errorHandler);

  }

  _errorHandler(error:Response){
       console.error(error);
     return Observable.throw(error ||"Server Error");

 }

}
因为在这种情况下,数据是对象数组类型的意思

完全是单一物体的物体


Aravind在这里是正确的,但是
MRData
区分大小写,映射有点不正确。在这里映射响应的正确方法是:

return this._http.get(this._url)
        .map((response:Response)=> response.MRDATA.json())
        .catch(this._errorHandler);

  }
您的组件:

return this._http.get(this._url)
    .map((response:Response)=> response.json().MRData)
    .catch(this._errorHandler);
}
然后您可以访问数据,例如:

getData() {
  this.service.getData()
    .subscribe(data => {
      this.data = data;
    });
}

系列:{{data?.Series}}

这是一个模拟JSON的演示,但我尝试了您提供的url,数据接收良好。因此,在您的应用程序中复制plunker应该可以正常工作:)


Aravind在这里是正确的,但是
MRData
区分大小写,映射有点不正确。在这里映射响应的正确方法是:

return this._http.get(this._url)
        .map((response:Response)=> response.MRDATA.json())
        .catch(this._errorHandler);

  }
您的组件:

return this._http.get(this._url)
    .map((response:Response)=> response.json().MRData)
    .catch(this._errorHandler);
}
然后您可以访问数据,例如:

getData() {
  this.service.getData()
    .subscribe(data => {
      this.data = data;
    });
}

系列:{{data?.Series}}

这是一个模拟JSON的演示,但我尝试了您提供的url,数据接收良好。因此,在您的应用程序中复制plunker应该可以正常工作:)


您能发布您遇到的错误吗?我的意思是,你应该使用https而不是http。我测试了第二个url,它运行正常。你能发布你遇到的错误吗?我的意思是,你应该使用https而不是http。我测试了第二个url,它运行正常。很棒的AJT82,我会尝试一下,非常感谢。进展如何?:)抱歉,我的回复太晚了。我如何深入到特定的基本节点,例如“DriverStandings”:[{“position”:“1”,…{“position”:“2”…等等,然后过滤上面的任何内容使其工作。最后…谢谢大家..这是我在get request json().MRData.StandingsTable.standingslist[0]中所做的唯一更改.DriverStandings令人敬畏的AJT_82,我将试一试,谢谢你,进展如何?:)很抱歉迟了回复..我如何深入到特定的基本节点,例如“DriverStandings”:[{“position”:“1”,…{“position”:“2”,…依此类推,然后过滤上面的任何内容,甚至可以让它工作..最后..谢谢大家..这是我在get request json().MRData.StandingsTable.standingslist[0]中所做的唯一更改