среда, 24 декабря 2008 г.

JSON and eval

Если у нас ошибка в JavaScript при eval() строки, пришедшей с сервака в виде JSON объекта, то, возможно, необходимо заключить её в скобки:

var jsonObject = eval('('+jsonFromServer+')');
или заключать в скобки ещё на серваке при формировании ответа.
Также, возможным источником проблемы может быть символы "\r\n" в JSON. Их надо эскейпить. В Java есть класс org.apache.commons.lang.StringEscapeUtils с соответствующими функциями.
P.S. Там, кстати, есть прекрассная функция, которая превращает html в entity :)

Комментариев нет: