Проблема с Java StringEscapeUtils.escapeHtml4()
Я пытаюсь избежать строкового объекта в моем приложении Java, используя StringEscapeUtils.escapeHtml4
, Я использую библиотеку commons-lang3-3.5.jar.
Ниже приведен формат, который я пытаюсь сделать -
StringEscapeUtils.escapeHtml4("user001")
Когда я печатаю в консоли, вывод выглядит так: "user001"
Я на самом деле не хочу, чтобы моя двойная квота была здесь преобразована в escape-символы. Потому что после экранирования строки моя программа не распознает эту строку как допустимую, и я получаю искаженный JSon. Есть ли способ справиться с этим или каким-либо другим способом? Заранее спасибо.
2 ответа
Почему ты не используешь escapeJava()
вместо escapeHtml4()
,
escapeJava(ввод строки)
Экранирует символы в строке, используя правила строки Java.
Это не будет конвертировать ваши двойные кавычки в "
но просто сбежит, используя обратную косую черту (что приемлемо в JSON).
Вы также можете проверить
escapeJson
public static final String escapeJson (ввод строки)Экранирует символы в строке, используя правила Json String.
Исключает любые значения, которые он находит, в их строковую форму Json. Правильно работает с кавычками и контрольными символами (tab, backslash, cr, ff и т. Д.)
Проблема не с StringEscapeUtils.escapeHtml4()
, Проблема может быть в том, что вы пытаетесь использовать простую строку, где ваш код ожидает JSON.