Процессор Джексона для сериализации Java-бина в json \ xml - PullRequest
1 голос
/ 21 октября 2011

Привет, у меня есть Java-бин, и мне нужно сериализовать его в JSON.Для этой цели я использую процессор Джексона, который очень мощный.Но мне также нужно преобразовать Java-бин в XML.Это может быть достигнуто с помощью процессора Джексона?Если да, пожалуйста, предоставьте ссылки, где я могу получить примеры.Спасибо !!!!

Ответы [ 3 ]

2 голосов
/ 21 октября 2011

Если вы хотите, чтобы Джексон и JSON не попадали в ваши pojos, вы можете создать слой перевода, который может преобразовывать в объект JAXB и использовать чистый JAXB (в данном случае JAXB является одной из возможных реализаций). Если ваши доменные объекты отображаются прямо на рендеринг JSON или вы можете использовать mixins / PropertyNamingStrategy , вам не понадобятся аннотации в ваших pojos. Я не уверен, применимо ли это в вашей ситуации, но я знаю, что многие среды стремятся к этому.

1 голос
/ 22 октября 2011

Определенно!Джексон, очевидно, имеет первоклассную поддержку JSON;но есть также простой модуль расширения для "mini-JAXB": jackson-xml-databind .Благодаря поддержке Джексоном JAXB-аннотаций (или нет, если вы просто предпочитаете собственные аннотации Джексона и пару дополнительных модулей xml), определенно можно создавать как JSON, так и XML, просто используя функциональность Jackson.случаи, когда поддержка XML унаследована (что и делают большинство новых сервисов).Если основное внимание уделяется XML, возможно, имеет смысл использовать JAXB.Но даже тогда я рекомендую не использовать слои преобразования из XML в JSON;те, которые я видел, использовались, были проблемами с преобразованием на уровне форматирования данных, и IMO совершенно не подходит для этого.Именно поэтому Джексон не пытается конвертировать JSON в XML (или наоборот);скорее, он поддерживает только преобразование POJO в / из внешних форматов данных.

0 голосов
/ 21 октября 2011

Да, это возможно. Вам нужно будет аннотировать ваш Java-бин с помощью аннотаций JAXB, которые обеспечат вам поддержку XML-маршалинга и демаршаллинга. Затем, используя поддержку Джексона для аннотаций JAXB, вы можете переключаться между Java и JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...