我已经更改了一个从api收到的json对象,并使用$ .makeArray将其更改为数组,现在我很难从这个数组中获取值。我想在天气预报中使用temp_c和value。下面打印出阵列。
[
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
答案 0 :(得分:0)
你可以尝试:
alert(yourObject.temp_C);
和
alert(yourObject.weatherDesc.value);
您无需将其转换为数组:)
答案 1 :(得分: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;
答案 2 :(得分: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);
});
});