2012-05-08 6 views
0

Iveはapiから受け取ったjsonオブジェクトを変更し、$ .makeArrayを使用して配列に変更しましたが、今はこの配列から値を取得するのに苦労しています。私はtemp_cと気象desc内の値が欲しいです。配列のプリントアウトは以下の通りです。json配列で苦労しています

[ 
Object 
data: Object 
current_condition: Array[1] 
0: Object 
cloudcover: "50" 
humidity: "72" 
observation_time: "10:25 AM" 
precipMM: "0.1" 
pressure: "1005" 
temp_C: "13" 
temp_F: "55" 
visibility: "10" 
weatherCode: "122" 
weatherDesc: Array[1] 
0: Object 
    value: "Overcast" 
__proto__: Object 
length: 1 
__proto__: Array[0] 
weatherIconUrl: Array[1] 
winddir16Point: "SSW" 
winddirDegree: "210" 
windspeedKmph: "19" 
windspeedMiles: "12" 
__proto__: Object 
length: 1 
__proto__: Array[0] 
request: Array[1] 
__proto__: Object 
__proto__: Object 
+3

代わりにraw JSONを投稿できますか? – Joseph

+0

ここに必要なのは何ですか? – Dhiraj

+0

JavaScriptコードを投稿できますか? –

答えて

0

あなたが試みることができる:

alert(yourObject.temp_C);

そして

alert(yourObject.weatherDesc.value);

あなたは配列に変換する必要はありません:)

0

あなたは「ドンオブジェクトを配列に変換する必要がある、jusトン必要なプロパティにアクセス:

var o = object_retrieved_from_api; 
o.temp_c; 
o.weatherDesc[0].value; 

あなたは配列に変換する場合は、単に配列のインデックス最初のオブジェクトにしている:

var a = $.makeArray(object_retrieved_from_api); 
a[0].temp_c; 
a[0].weatherDesc[0].value; 
0

JSONの全体のポイントは、それがすでにJavascriptのであるということですデータを取得するために複雑な解析ロジックは必要ありません。次のコードを試してみてください。JSON Webサービスからデータを取得するのが簡単にわかります。

$.getJSON('your JSON URL here', function(data) { 

    $.each(data.current_condition, function() { 
    alert(this.temp_C + "C " + this.weatherDesc[0].value); 
    }); 

});