2012-11-01 22 views
5

Bazı JSON'ları alıp bir nesnedeki bazı bilgilere dayanarak ilk öğeyi ayıkladığım bir işlev var.Javascript nesnesi değişmezi. object [i] .variable

Benim sorundur: Bu işe yaramazsa

function foo(string){ 
return data[0].string; 
} 

. Doğru sözdizimi nedir?

tam kodudur:

var plantaVariables = { 
    humidity : 0, 
    airTemp : 0, 
    soilTemp : 0, 
    soilMoisture: 0, 
    light: 0 
    }; 

    function capitaliseFirstLetter(string){ 
    return string.charAt(0).toUpperCase() + string.slice(1); 
    } 

    for (var i in plantaVariables) { 
    $.ajax({ 
     url: "http://xxx/"+i.toLowerCase(), 
     dataType:"json", 
     async: false, 
     success: function(data){ 
     var string = capitaliseFirstLetter(i); 
     plantaVariables[i] = parseInt(data[0].capitaliseFirstLetter(i)); 
     } 
     }); 
    }; 

JSON ben böyle görünüyor olsun:

[{"PlantId":"1","DateTime":"2012-11-01 13:56:23","Humidity":"37.4"}] 

(daha nesnelerle). Ve plantaVariables

'daki diğer öğeler için de benzer bir durumun bunun bir yeni soru olduğunu anlıyorum, ama javascript için yeniyim ve kafamı tüm gün ekrana çarptı. Herhangi bir yardım çok takdir edilecektir!

+0

'verileri döndür [0] [string]' '' yerine '[' '} 'yi kullanın. –

cevap

6

Sen ifadeye göre bir nesne özelliği bakmak için simge notasyonu kullanmalısınız:

plantaVariables[i] = parseInt(data[0][capitaliseFirstLetter(i)]); 
+0

Teşekkürler! günümü şenlendirdin! – Cobradelaplaya

1

nesneler sadece diziler gibi [] kullanılarak başvurulabilir unutmayın.

var string = capitaliseFirstLetter(i); 
plantaVariables[i] = parseInt(data[0][string]); 
+0

Teşekkürler! Mükemmel – Cobradelaplaya

+0

Rica ederim :-) –

İlgili konular