Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.08.2009, 09:07
Интересующийся
Отправить личное сообщение для Wagner Посмотреть профиль Найти все сообщения от Wagner
 
Регистрация: 27.08.2009
Сообщений: 22

Ошибка при парсинге 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

Последний раз редактировалось Octane, 31.08.2009 в 18:17. Причина: оформляйте свой код с помощью bb-кодов [js] и [html]
Ответить с цитированием
  #2 (permalink)  
Старый 27.08.2009, 10:01
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

Ну так дйте это содержимое
Ответить с цитированием
  #3 (permalink)  
Старый 27.08.2009, 10:27
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

И отформатируйте код!
Ответить с цитированием
  #4 (permalink)  
Старый 27.08.2009, 10:48
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

И не используйте document.write
Ответить с цитированием
  #5 (permalink)  
Старый 27.08.2009, 10:58
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

И не жалуйтесь на форумах!
Ответить с цитированием
  #6 (permalink)  
Старый 27.08.2009, 14:09
Интересующийся
Отправить личное сообщение для Wagner Посмотреть профиль Найти все сообщения от Wagner
 
Регистрация: 27.08.2009
Сообщений: 22

Содержимое переменной jsonText: {"peoples":{"name":"asd"}}
document.write(jsonObj.peoples.name); выводит asd
Ответить с цитированием
  #7 (permalink)  
Старый 31.08.2009, 18:06
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

В таком парсинге json есть ошибка, связанная с некоторыми символами Юникода, при столкновении с которыми eval сваливается.
Здесь можно посмотреть, какие именно символы квотируются
Ответить с цитированием
  #8 (permalink)  
Старый 31.08.2009, 23:16
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Использование eval - не самая безопасная штука. Можно использовать парсеп на js (ссылка e1f) он это допольнительный трафик. Советую в сторону XML посмотреть.
Ответить с цитированием
  #9 (permalink)  
Старый 31.08.2009, 23:20
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Tim
Использование eval - не самая безопасная штука.
Что в ней небезопасного?
Ответить с цитированием
  #10 (permalink)  
Старый 31.08.2009, 23:46
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при добавлении обработчика к событию Riim Events/DOM/Window 32 19.01.2010 14:17
Ошибка в jquery.forms ? Помогите разобраться. Ксандер jQuery 10 26.08.2009 18:39
Проверка статуса checkbox при xmlhttprequest vvsh AJAX и COMET 3 06.08.2009 15:51
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 14:17