2017-10-03 9 views
1

OpenWeatherMapというサービスからJSONとしてデータを取得しようとしていますので、私のcomponentWillMountメソッドではurlでデータを返すためにfetch()を呼び出しています。今の私のコードです:React Native fetch()は奇数のjsonレスポンスアイテムを返します

this.weather = fetch(url).then(response => response.json()).then(responseJson => responseJson);

それは動作しますが、JSONレスポンス内奇数データを返し、今の私のJSON応答は次のとおりです。

{"_40":0,"_65":1,"_55":{here_the_correct_response}}

しかし、私は私の応答はなしになりたいですこれらの奇妙なアンダースコアインデックスは純粋なJSONレスポンスだけです

+0

「純粋なJSON応答」とはどういう意味ですか? – guest271314

+0

@ guest271314これらの奇妙なアンダースコアインデックスなし –

+0

これはレスポンスのようです。応答を解析してオブジェクトのプロパティを調整したり、プロパティ名を変更して新しいオブジェクトを作成することができます。 – guest271314

答えて

1

わかりました。この奇妙なデータはfetch()によって返されるいわゆるpromissと呼ばれます。この取り除くために、私はそうしました:

fetch(url) 
    .then(response => response.json().then(data => data)) 
    .then(result => /* Do whatever you want with this result */) 
    .catch(error => /* Do something if error occurs */); 

を、私は二回「promiss解読」を行う必要がありますなぜ私は知らないが、それは動作します。これを説明するコメントは感謝しています。

関連する問題