2013-07-11 103 views
0

我的JScript是:GET值与动态密钥

var t={'color':'red'}; // dynamic json data. 
for(n in t) 
{ 
    alert(n) 
} 

这里,警报给出了JSON关键颜色。但如何获得它的价值?

注意:json是动态的。

回答

5
var t={'color':'red'}; // dynamic json data. 
for(n in t) 
{ 
    alert(n);// n = key 
    var val =t[n];// value where key is n 

} 
+0

谢谢。这是我的预期 – Natesan

-1

而不是把在人警惕n个把它放在一个外部变量或东西...

编辑,尝试sometnihg这样的:

var ex_n; 
var t={'color':'red'}; 

for(var i=0; i<t.length; i++) ex_n = t[i]["color"]; 
+0

它给出了相同的输出“颜色”。但我想动态地访问它的值 – Natesan

+0

这将适用于没有密钥的标准数组,它是关联数组的问题。请参阅vikrant singh的回答 – rorypicko

+1

是的,但是这也适用于关联数组(如果您知道密钥的名称),请尝试自己.. – BRap

0
var t={'color':'red'}; // dynamic json data. 
for(n in t) 
{ 
    alert(t[n]) 
} 
1

这里是一个从json响应获取动态密钥的简单示例 - Get dynamic keys from JSON Data

public void getData(String data){ 
    // Load json data and display 
JSONObject jsonData = new JSONObject(data); 
// Use loop to get keys from your response 
Iterator itr = jsonData.keys(); 
while(itr.hasNext()){ 
    String keys = (String)itr.next(); 
Log.e("Keys", "----"+keys); 

JSONArray dynamicValue = jsonData.getJSONArray(keys); 

    // Your stuff here 
} }