Проблема с 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.

Другие вопросы по тегам