2013-02-27 3 views
1

У меня есть некоторые данные в формате JSON, который приходит из PHP через Ajaxитерация JSON элемент получил от PHP

{"5":"rahul","26":"karan","28":"jatin"}

Я хочу получить ключ отдельных которые 5,26,28 и отдельное имя, которое rahul,karan,jatin Я использую этот код в java script. Но я не получаю результат.

for (var key in ajaxresponse) { 
    if (ajaxresponse.hasOwnProperty(key)) 
    { 
     alert(key + " -> " + JSON.stringify(ajaxresponse[key])); 
    } 
} 

ответ

1

Просто используйте 2 массивы, чтобы получить то, что вы хотите:

var keys = [], vals = [], key, 
ajaxresponse = JSON.parse(ajaxresponse);//parse JSON, which is quite important, too! 
for (key in ajaxresponse) 
{ 
    if (ajaxresponse.hasOwnProperty(key)) 
    { 
     keys.push(key); 
     vals.push(ajaxresponse[key]); 
     console.log(key + '->' + ajaxresponse[key]);//no need to call JSON.stringify on a string 
    } 
} 
console.log(keys.join(', '));//will list all keys, comma-separated 
console.log(vals.join(', '));//ditto for values 
+0

Результат от вашего решения \t 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 {, ", 5,", , r, a, h, u, l, ..., 2, 6, ..., ..., k, a, r, a, n, ", ,,,,,,,,,,, , ", j, a, t, i, n, k, k,",} Но мне нужно только 5,26,28 и rahul, karan, jatin –

+0

Вы забыли разобрать JSON, казалось бы, : 'ajaxresponse = JSON.parse (ajaxresponse);' должен предшествовать этому коду –

+0

thankx .. resolved .. –

5

На самом деле простой уровне for() использует ajaxresponse и если/тревогу использует response.

Если код, в который вы вставили фактический код? Если это так, это может быть вашей проблемой. :)

+0

Модернизированный .. вопрос .. Теперь решение пожалуйста. –

Смежные вопросы