2016-04-11 3 views
1

Я довольно счастливый пользователь-объект-пользователь jackson.Html in json (не требуется спецификация json)

Но одна вещь, которая меня беспокоит, - это то, как я вручную должен вводить html в json, есть много побегов, что очень сложно для пользователя с неопытным.

Есть ли способ разрешить unescaped простой html в json-файле, который может быть прочитан jackson? Например, что-то вроде cdata в xml.

Json не должен отвечать спецификациям json/стандарту, и возможна любая предварительная или пост-обработка. Но его нужно вводить вручную в json, используя, например, блокнот.

Есть много вопросов и ответов на stackoverflow по этой теме, но в основном они должны соответствовать спецификации json, которая не является обязательным требованием для меня.

+0

Вы можете использовать инструмент для выхода из HTML, прежде чем вставлять его в файл JSON. Напишите HTML в блокноте -> бегите с помощью интерактивного инструмента -> вставьте его в файл JSON. – Teddy

+0

http://www.freeformatter.com/javascript-escape.html – Teddy

+0

Или вы можете написать графический инструмент для ввода ваших входов и создания файла JSON, если вам нужно часто выполнять эту деятельность. – Teddy

ответ

1

я пойти с @Teddy решения:

Просто добавьте что-то вроде CDATA и сохраните файл как .jsonxyz.Then запустить пользовательские Java-программу, которая будет конвертировать .jsonxyz в .json

с рисунком

<cdata>(.*?)</cdata> 

I соответствует CDATA, содержащие HTML в моей JSON. С appendReplacement я заменил html на escaped html, совместимый с json. Затем я просто прочитал весь json с Джексоном.

Чтобы сериализовать его снова CDATA и неэкранированный HTML я продлен:

HtmlFieldSerializer extends JsonSerializer<String>{ 
... 
gen.writeRaw(": \"<cdata>"+value+"</cdata>\""); 

Следующая джексон может просто написать JSON в файл.