2017-08-15 14 views
0

を入力する:私がやっているとき変換WabApi応答配列は、私が持っているような配列を返しますWEBAPI配列

[ 
{"id":1,"name": "name" } 
] 

http.get<MyType[]>('url') 
.subscribe(data => { 
    // data = [Object] 
}) 

を取得したデータは、変換取得されていません私の目的でそれは[Object]のようにとどまります。私はdata[0].iddata[0].nameのようなデータにアクセスすることができますが、公式のhttpclientの文書では、データが正常に入力されていることを確認できます。しかし、私の場合、配列全体をあなたの型に変換するにはどうすればいいですか?MyType[]

私はangular 4.3+HttpClient

+0

あなたのコードをもっと共有できますか? – brijmcq

答えて

1

を使用しています私は、これはあなたの質問であると仮定しています:

私はデータのようなデータにアクセスする必要がありますか[0] .ID、データが[0] .nameの?

はい、あります。dataは配列です。

以外にも、あなたが言った:...

データは私のオブジェクトに変換取得されていません。 [Object] ... MyType []への応答を変換する方法はありますか?

タイプシステムとは何か分かりません。 TypeScriptは型システムです。実行時には何の役割も果たしません。あなたがそれを実行するために必要なTypeScriptをコンパイルするときには、もうTypeScriptはありません。ランタイムにTypeScriptが表示されている場合、これは単なる表現であり、コードを理解することができます。これはソースマップと呼ばれます。実行時にはすべてJavaScriptです。

つまり、実行時にオブジェクトがあるタイプから他のタイプに変換されることはありません。存在するコンバージョンは(foo as any).bar())のようなものですが、これはコンパイルするまで存在しますので、タイプシステムはfoobar()であることを知ることができます。

あなたの応答はすでにMyType[]であるはずです。実行時に[Object]が表示されるのは、Chrome開発ツールがMyTypeにあるtoString()を呼び出しているためです(上書きされていないため、[Object]と表示されます)。

+0

は、この1つが実際には異なるバージョンのhttps://stackoverflow.com/questions/45686553/how-to-map-object-array-to-my-type-arrayという新しい質問を作成しました。十分な – sreginogemoh

関連する問題