0

これが意図したとおりに機能するかどうかはわかりませんが、json のブロブを汎用オブジェクトの配列に変換したいと考えています (オブジェクトは順応性があり、URL に応じて変更される可能性があります)。代わりに JSON.parse(res.json().data) を使用する必要がありますか? ありがとう。

 return this.http.get(URL)
                       .toPromise()
                       .then(response => response.json().data as Object[]) 
                       .catch(this.handleError);
          }
4

1 に答える 1

0

ソリューションの問題は、Object型に (通常以外の) メンバーがないため、JSONidなどの特定のプロパティにアクセスしようとするとエラーが発生することです。

正しい方法はas any[]次のとおりです。

  return this.http.get(URL)
                        .toPromise()
                        .then(response => response.json().data as any[]) 
                        .catch(this.handleError);
           }

これにより、JSON 応答に含まれていたすべてのもの (および JSON 応答に含まれていなかったすべてのもの) にアクセスできます。実行時にエラーが発生します)。

結果を特定の型にキャストすることをお勧めします。JSON オブジェクトを typescript クラスにキャストする方法を参照してください。

于 2016-08-01T22:10:43.773 に答える