0

API から受け取った json オブジェクトを変更し、$.makeArray を使用して配列に変更しましたが、この配列から値を取得するのに苦労しています。天気の説明内に temp_c と値が必要です。配列の印刷は以下のとおりです。

[
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
4

3 に答える 3

0

JSON の要点は、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);
  });

});
于 2012-05-08T11:39:43.687 に答える
0

あなたは試すことができます:

alert(yourObject.temp_C);

alert(yourObject.weatherDesc.value);

それを配列に変換する必要はありません:)

于 2012-05-08T11:06:10.877 に答える
0

オブジェクトを配列に変換する必要はありません。必要なプロパティにアクセスするだけです。

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;
于 2012-05-08T11:07:34.230 に答える