Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Ошибка при парсинге json (https://javascript.ru/forum/events/4884-oshibka-pri-parsinge-json.html)

Wagner 27.08.2009 09:07

Ошибка при парсинге json
 
Доброго времени суток всем. Возникла проблема с парсингом json. Вот код:
function parseJson() {
    var jsonText=req.responseText;
    document.write(jsonText);
    jsonObj=eval("("+jsonText+")");
    document.write(jsonObj.peoples.name);
}

первый document.write для того, чтобы убедится, что функция действительно получила текст, второй выводит результаты парсинга.
Ошибка:
Код:

Unknown thread
Error:
Unhandled exception: [Object DOMException]
code: 11
message: INVALID_STATE_ERR

подскажите, пожалуйста, что необходимо сделать, чтобы убрать её? И, кстати, опера после этой ошибки выводит содержимое jsonObj.peoples.name

alexKniaz 27.08.2009 10:01

Ну так дйте это содержимое

B~Vladi 27.08.2009 10:27

И отформатируйте код!

Kolyaj 27.08.2009 10:48

И не используйте document.write

B~Vladi 27.08.2009 10:58

И не жалуйтесь на форумах!

Wagner 27.08.2009 14:09

Содержимое переменной jsonText: {"peoples":{"name":"asd"}}
document.write(jsonObj.peoples.name); выводит asd

e1f 31.08.2009 18:06

В таком парсинге json есть ошибка, связанная с некоторыми символами Юникода, при столкновении с которыми eval сваливается.
Здесь можно посмотреть, какие именно символы квотируются

Tim 31.08.2009 23:16

Использование eval - не самая безопасная штука. Можно использовать парсеп на js (ссылка e1f) он это допольнительный трафик. Советую в сторону XML посмотреть.

Kolyaj 31.08.2009 23:20

Цитата:

Сообщение от Tim
Использование eval - не самая безопасная штука.

Что в ней небезопасного?

Tim 31.08.2009 23:46

если вы сможете гарантировать, что данные передаваемые в eval поступают из надёжного источника, тогда ничего - всё безопасно.


Часовой пояс GMT +3, время: 21:20.