2012-03-14 10 views
5

JSON değişkeninde yer alan verilere giden yolu yapmak istiyorum. Ben kod artık şuna benzer:JSON yolunda değişken

function writeDB(block) 
{ 
    $.getJSON('js/data.js', function(data) { 

    if (block == "path1") { var adr = data.test.path1.db; }; 
    if (block == "path2") { var adr = data.test.path2.db; }; 
    if (block == "path3") { var adr = data.test.path3.db; }; 

    var datastring=""; 
    $.each(adr, function(i, field){ 
     temp = encodeURIComponent($("#writeDB_"+block+" [name="+adr[i].abc+"]").val()); 
     datastring += adr[i].abc+"="+temp+"&"; 
    }); 

    }); 

} 

böyle, doğrudan "adr" yoluna şey değişkeni 'blok' kullanarak, basitleştirmek ve değişken yapmak istiyorum parçalar "eğer"

var adr = "data.test."+block+".db"; 

Ancak bir dize işe yaramaz, dolayısıyla işe yaramaz. Birisi bunu nasıl düzeltebileceğimi biliyor mu?

+0

olası yinelenen (http://stackoverflow.com/questions/7102704/how- [köşeli ayraç gibi nokta gösterimde değişkenleri nasıl kullanılır] to-use-değişkenler-in nokta notasyonu benzeri kare parantez-notasyonu). Lütfen ayrıca [JSON vs JavaScript nesnesinin] farklarını da anlayın (http://stackoverflow.com/questions/8294088/javascript-object-vs-json/8294127#8294127) – Matt

cevap

3
if (typeof(data.test[block]) != "undefined") 
    var adr = data.test[block].db; 
.... 
ait
İlgili konular