2013-07-11 2 views

ответ

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

вместо того, чтобы поместить в п ал готовности положить его во внешней переменной или что-то ...

Отредактированный, попробуйте 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 
} } 
Смежные вопросы