2013-10-05 4 views
0

я получил сценарий так:JQuery JSON для цикла получения каждого символа вместо массива элемента

$.getJSON("someurl", function(data){ 
    for (var i=0, len=data.length; i < len; i++) { 
     console.log(data[i]); 
    } 
}); 

и JSON массива выглядит следующим образом:

[1,2] 

, но этот скрипт получает каждый символ этого json response, поэтому в консоли я получаю:

[ index:44 
1 index:44 
, index:44 
2 index:44 
] index:44 

Что я делаю с этим неправильно?

+0

это выглядит как строка для меня .... Вы можете добавить 'console.log (typeof data) 'перед циклом' for' –

+0

Также каков тип содержимого ответа –

+1

- это ответ с двойным кодированием? Поскольку jQuery должен анализировать ответ для вас ... –

ответ

4

Поскольку ваша json строка выглядит как строка не array

$.getJSON("someurl", function(data){ 
    data=$.parseJSON(data); 
    for (var i=0, len=data.length; i < len; i++) { 
     console.log(data[i]); 
    } 
}); 

Read parseJSON

Fiddle

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