2016-12-21 9 views
2

私はidによってjsonファイルからデータを取得するためにtriyngです。すべてのコンテンツを取得しています。 ここではJSON:Angular2、REST呼び出しからデータを取得

[ 
{ "id": "1", "name": "Carlos", "apellidos":"López", "edad":"30", "ciudad":"Hospitalet" }, 
{ "id": "2", "name": "Arantxa", "apellidos":"Pavia", "edad":"24", "ciudad":"Barcelona" }, 
{ "id": "3", "name": "Didac" , "apellidos":"Pedra", "edad":"muchos", "ciudad":"Cornellà" }, 
{ "id": "4", "name": "Daniel" , "apellidos":"Farnos", "edad":"nolose", "ciudad":"Barcelona" } 
] 

サービス:

private usersUrl = 'app/users.json'; 
getUser(id: String): Observable<User>{ 
    let body = JSON.stringify(
     { 
     "token": "test", 
     "content": { 
      "id": id 
      } 
     } 
    ); 
    let headers = new Headers({ 'Content-Type': 'application/json' }); 
    let options = new RequestOptions({ 
     headers: headers, 
     body : body 
     }); 

    return this.http.get(this.usersUrl, options) 
     .map(res => res.json()).catch(this.handleError); 
} 

角度成分:

ngOnInit(){ 

    this.route.params.subscribe(params => { 
     let id = +params['id']; 
     this.apiService.getUser(id).subscribe((res) => { console.log(res); });    
    }) 

} 

CONSOLE.LOG:

Array[4]0: Object1: Object2: Object3: Objectlength: 4__proto__: Array[0] 

はJSONは悪いですか?

ありがとうございました。

答えて

0

idで結果をフィルタリングしなかったためです。

.map(res => res.json()) 
.map(x > x.find(x => x.id == id) // filter by selected id 
.catch(this.handleError); 
関連する問題