2012-05-08 3 views
0

Ive изменил объект json, полученный из api, и изменил его на массив с использованием $ .makeArray, и теперь я пытаюсь получить значения из этого массива. Im хочет temp_c и значение в зависимости от погоды. Печать из массива приведена ниже.Борьба с массивом 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

Вы можете отправить исходный JSON вместо этого? – Joseph

+0

что вам нужно здесь? – Dhiraj

+0

можете ли вы разместить код JavaScript? –

ответ

0

Вы можете попробовать:

alert(yourObject.temp_C);

И

alert(yourObject.weatherDesc.value);

Вам не нужно будет преобразовать его в массив :)

0

Вы надеваете» t нужно преобразовать объект в массив, 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.

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

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

}); 
Смежные вопросы