2012-09-08 40 views
0

可能重複:
Dynamic object property nameJS - 獲得JSON可變

    $.ajax({ 
         url: "ranktonumber.json", 
         dataType: "json", 
         success: function (data) { 
         // my problem is what should be in this line 
         } 
        }); 

就像你看到的,我有給我JSON變量的jQuery(阿賈克斯)命令。 讓我們說,我有另一個名爲「等級」的變量。 「排名」是json的關鍵。 JSON的是:

{"Recruit":"1", 
"Private":"2", 
"Private*":"3", 
"Private**":"4", 
"Private***":"5", 
"Corporal":"6", 
"Corporal*":"7", 
"Corporal**":"8", 
"Corporal***":"9"} 

我如何在JSON使用「等級」,因爲這是行不通的:

data.rank 

如果你還不明白,這裏是我可怎麼辦它的mIRC:

$json(jsonvariable,rankvariable) 
+0

的可能重複[動態對象屬性的名稱(http://stackoverflow.com/questions/4244896/dynamic-object-property-name),也涉及到[如何使用一個變量作爲一個JSON屬性附加傷害?( http://stackoverflow.com/questions/4540165/how-to-use-a-variable-as-a-json-atribute)。 –

回答

2

使用data[rank]而不是data.rank

+0

返回undefined – user1515823

+0

請投票結束問題,這是重複的。 @ user1515823:'ranke'的價值是什麼?做'console.log(data)'和'console.log(rank)',看看密鑰真的存在。這可能也有幫助:http://stackoverflow.com/questions/11922383/i-have-a-nested-data-structure-json-how-can-access-a-specific-value –

+0

Iv'e用新文件[此源文件](http://pastebin.com/LszuHAQg),並警告強調 – user1515823

0
var thisObj=this; 

$.ajax({ 
url: "ranktonumber.json", 
dataType: "json", 
success: function (data) { 
thisObj.data=data; 
}); 

console.log (thisObj.data["rank"])