Java lib, которая читает и пишет xml или json с простым переключателем - PullRequest
0 голосов
/ 07 декабря 2010

В идеале, написание должно быть просто переключением писателей.Одна запись будет писать JSON, а другая XML.То же самое можно сказать об обратном: одна фабрика принимает InputStream из json, а другая - InputStream из xml.В обоих случаях связывающий материал будет возвращать поток объектов, заданный InputStream.

Ответы [ 3 ]

4 голосов
/ 07 декабря 2010

XStream делает это чертовски хорошо.

Обычный экземпляр (для XML):

new XStream();

Альтернативный экземпляр (для JSON):

new XStream(new JettisonMappedXmlDriver());
/**************** or ****************/
new XStream(new JsonHierarchicalStreamDriver());
1 голос
/ 09 декабря 2010

Кроме того, реализация JAX-RS (например, Jersey, RESTeasy), хотя и не является простой библиотекой, предлагает простой способ создания и использования JSON и xml.Они прозрачно обрабатывают выбор внутренней библиотеки в зависимости от запрашиваемого типа носителя.

Построить фасад тоже довольно просто;Я бы начал с использования JAXB для XML и Джексона для JSON;оба могут принимать InputStream или Reader и выводить, используя OutputStream или Writer.И то, и другое хорошо справляется с привязкой данных.

0 голосов
/ 07 декабря 2010

Если вы хотите написать это самостоятельно - это звучит как хороший пример для паттерна стратегии и паттерна фабричного метода

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