2016-08-12 5 views
0

angle2では、私はこのリターンを変更する方法を知りません:Angular2 - サーバーからjsonデータを取得し、マッピングする前にjsonを変更する方法

1)これは私のサービスです。はい。私が望むサービスからjsonオブジェクトを取得します。

getModel(modelId:any){ 
     return this._authHttp.get(this.getModelUrl(modelId)).map(res => res.json()); 
} 

私のngOnInit()では、これが私の呼び出しです。しかし、私はこの部分に関してはやっているものを理解しない動作します:model_initials => this.model_initials = model_initials

this._modelService.getModel(this.model_id) 
      .subscribe(model_initials => this.model_initials = model_initials, 
      null,() => { this.isLoading = false; }); 

私はこれで必要なもの。モデルイニシャルをオブジェクトとして必要とするので、それを変更してthis.model_initialsにマップできます。

ので、合計では、これは私がINITに戻ってサーバから取得するデータです:

 { 
     "available": "Q" 
     } 

はその後this.model_initialsにマッピングされます。

名前を変更して

 { 
     "availablenow": "Q" 
     } 

どのようにすればいいですか?

答えて

3

あなた可能性このような:

getModel(modelId:any){ 
    return this._authHttp.get(this.getModelUrl(modelId)) 
     .map(res => res.json()) 
     .map(data => { 
     return data.map(d => { 
      let mappedD = Object.assign({}, d); 
      mappedD.availablenow = mappedD.available; 
      delete mappedD.available; 
      return mappedD; 
     } 
     }; 
} 
関連する問題