2010-03-02 4 views
1

Я использую Gson для преобразования объекта Java в Json. Одно из полей объекта содержит строку, содержащую сбежавшего двойные кавычки, например:Метод Gson toJson включает escape-символ при печати строк

"double quote:'\"'" 

Метод toJson возвращает строку, как указано выше, но я хотел бы напечатать вместо этого:

double quote:'"' 

ли это возможно с помощью Gson?

ответ

1

Зачем вам это нужно? Окружающие кавычки и escape-символ являются обязательными в JS/JSON.

Следующая JS кусок просто показывает правильное значение:

var json = { test: "double quote:'\"'" }; 
alert(json.test); 

Не печатать его с помощью System.out.println() или так, Java не разобрать JSON, только JS делает это;)

+0

Я передавая JSON на Ext-сетку (через JSP), и, похоже, ей не нравятся escape-символы. –

+0

Видимо, вы прошли его неправильно. Например. 'var foo = $ {jsonFromServer};' должен делать (без кавычек). Если вы используете JSTL 'c: out', убедитесь, что для атрибута' escapeXml' установлено значение 'false'. – BalusC