2012-05-31 5 views
0

Я использую ajax для получения строки json с сервера, а затем с помощью eval, чтобы превратить его в объект. когда я повторяю данные json, я получаю ключ. Как получить значение ключа. Это то, что у меня есть:Итерирование и чтение данных json

var jsonobj = eval('(' + xmlhttp.responseText + ')'); 

for (i in jsonobj){ 
    alert(i); 
} 

Что предупреждает ключи. Как получить значение ключей?

ответ

3

попробовать это:

var jsonobj = eval('(' + xmlhttp.responseText + ')'); 
var value; 

for (i in jsonobj){ 
    value = jsonobj[i]; 
} 
3

Если сервер возвращает JSON вам не нужно использовать Eval. Просто укажите dataType и JQuery будет автоматически анализировать результат для вас:

$.ajax({ 
    url: '/script', 
    type: 'POST', 
    dataType: 'json', 
    success: function(result) { 
     for (var key in result) { 
      if (result.hasOwnProperty(key)) { 
       alert('key: ' + key + ', value: ' + result[key]); 
      } 
     } 
    } 
}); 
2
var jsonobj = eval('(' + xmlhttp.responseText + ')'); 

for (i in jsonobj){ 
    alert(jsonobj[i]); 
} 
Смежные вопросы