Кто-нибудь знает об инструменте или подходе, с помощью которого мы можем создать схему JSON из схемы XML или схему XML из схемы JSON с помощью Java?
Есть ли инструмент для создания схемы JSON из схемы XML через Java?
Ответы (5)
Это не очень элегантно, но Джексон может генерировать схему json из класса Java. Таким образом, вы можете взять свою XML-схему, генерировать из него классы java с аннотациями jaxb, а затем генерировать схему json из нее, поскольку jackson поддерживает аннотации jaxb.
Если вы можете получить POJO, соответствующие схеме (например, используя xjc), вы можете использовать Jackson для создания схемы JSON ( см. ObjectMapper.generateSchema(...)).
Я ожидаю, что вы сможете написать сценарий XSLT, который довольно легко генерирует структуры JSON из схемы XML. Это работает, потому что XSLT прекрасно умеет читать и преобразовывать XML, а XML-схема — это просто XML.
Идти по другому пути было бы немного сложнее. Вам нужно что-то, что может читать схему JSON и выдавать XML. Для этого вам нужен синтаксический анализатор и, вероятно, что-то, что строит AST синтаксического анализа. С этим и прогулкой по дереву вы, вероятно, сможете довольно легко сгенерировать XML-схему.
ANTLR позволит вам довольно легко определять грамматики, создавать синтаксический анализатор и AST. У него есть какой-то генератор «структурированного текста», который может работать для обхода AST.
Наш набор инструментов для реинжиниринга программного обеспечения DMS похож на ANTLR, но с большим количеством механизмов. С помощью DMS вы можете определить синтаксис JSON, построить AST, а затем написать преобразование источника в источник, чтобы сопоставить его с XML, представляющим вашу схему.
например, CXF может обслуживать запросы в формате Json или XML, поэтому у него должен быть способ их преобразования.
Преобразование XML в JSON довольно просто и может быть выполнено различными способами:
http://answers.oreilly.com/topic/278-how-to-convert-xml-to-json-in-java
http://www.json.org/javadoc/org/json/XML.html#toJSONObject%28java.lang.String%29
Для преобразования из XML в JSON посмотрите, может быть, это очень просто:
http://www.bramstein.com/projects/xsltjson/
http://code.google.com/p/xml2json-xslt/
http://json-lib.sourceforge.net/index.html< бр/>
Существует также библиотека http://x-stream.github.io/, которая позволяет создавать преобразование в обе стороны (также в POJO). Простой пример использования вы можете найти здесь: Преобразование XML в формат JSON
/edit: упс, похоже я не правильно понял вопрос :P