2013-07-19 2 views
0

По помощи my last question удалось решить, но все еще застряли ..зацикливание в списке с помощью JQuery

After trying this я получил ошибку на лог консоли ..

Error: Syntax error, unrecognized expression: [ { "id": 1, "name": "Bhavik", "phone": 9601109585 }, { "id": 2, "name": "Xyz", "phone": 1234567890 }, { "id": 3, "name": "Abc", "phone":} ] 
[Break On This Error] 

throw new Error("Syntax error, unrecognized expression: " + msg); 

JQuery код:

var list = { "Persons": data.d }; 
$(list.Persons).each(function (index) 
{ 
    alert(this.id + "\n" + this.name + "\n" + this.phone); 
}); 

JSON массив:

[ 
    { 
    "id": 1, 
    "name": "Bhavik", 
    "phone": 9601109585 
    }, 
    { 
    "id": 2, 
    "name": "Xyz", 
    "phone": 1234567890 
    }, 
    { 
    "id": 3, 
    "name": "Abc", 
    "phone":
    } 
] 

Я хочу перебрать список .. Любые идеи ..

EDIT После @ предложение Vučko, я попытался заменить data.d на самом массиве JSON и к моему удивлению, она работала JSFiddle .. какой-либо причине и решение для него ..

решаемые изменен var list = { "Persons": $.parseJSON(data.d)}; .. ответ JSON не достаточно я думаю .. Нам нужно разобрать его также ..

+0

[Как это] (http://jsfiddle.net/uR7m4/)? – Vucko

+0

@ Vucko есть какая-то ошибка у меня .. ?? ваш код работает отлично .. – Bhavik

ответ

1

Y наш код имеет только одну ошибку:

var list = { "Persons": data.d }; 
          ^

Изменение к:

var list = { "Persons": data }; 

JSFiddle

+0

data.d дает мне массив JSON .. Я пробовал небольшое изменение, заменяющее data.d массивом .. [Посмотрите] (http://jsfiddle.net/uR7m4/1/) , Кроме того, я попробовал 'var list = {« Персоны »: данные};' как вы рекомендуете, но предупреждение дает undefined .. – Bhavik

+0

Shure, все, что имеет значение, это работает. Все зависит от того, как вы используете массив JSON, а затем модифицируете соответствующий ему код. Проверьте другие вопросы о цикле через массив JSON ([подобный этому] (http://stackoverflow.com/questions/2342371/jquery-loop-on-json-data-using-each)). – Vucko

+0

@Bhavik var list = {"Персоны": data.d}; $ .each (list.Persons, function (index) { alert (index.id + "\ n" + index.name + "\ n" + index.phone); }); – Rooster

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