Qualcuno è a conoscenza di uno strumento o un approccio da cui è possibile generare uno schema JSON dallo schema XML o dallo schema XML dallo schema JSON di Java?Esiste uno strumento per generare uno schema JSON da uno schema XML tramite Java?
risposta
Non è molto elegante, ma jackson può generare json schema from a java class. Quindi puoi prendere lo schema xml, generate java classes from it with jaxb annotations, quindi generare lo schema json da quello come jackson supports jaxb annotations.
Mi aspetto che sia possibile scrivere uno script XSLT che ha generato le strutture JSON dallo schema XML abbastanza facilmente. Questo funziona perché XSLT è perfetto per leggere e trasformare XML, e uno schema XML è solo XML.
Andare dall'altra parte sarebbe un po 'più difficile. Hai bisogno di qualcosa che possa leggere uno schema JSON e sputare XML. Per questo è necessario un parser e probabilmente qualcosa che costruisce un AST del parsing. Con questo e una struttura ad albero è probabile che siate in grado di generare uno schema XML abbastanza facilmente.
ANTLR consente di definire grammatiche, creare un parser e un AST abbastanza facilmente. Ha un qualche tipo di generatore di "Testo strutturato" che potrebbe funzionare per camminare con l'AST.
Il nostro DMS Software Reengineering Toolkit è come ANTLR ma con più macchinari. Con DMS è possibile definire la sintassi JSON, creare AST e quindi scrivere tranformatinos sorgente-sorgente per mapparlo in XML che rappresenta lo schema.
json schema è json, quindi è necessario solo un parser JSON – sbridges
domanda originale era come generare JSON da XML. –
ad esempio CXF può servire in Json o XML, quindi deve avere un modo per convertire i due.
No, questo non significa necessariamente che la conversione passa attraverso gli schemi o che esiste persino una conversione tra XML e JSON. Molte strutture invece producono XML e JSON separatamente, come rappresentazioni separate. È più facile convertire tra POJO e JSON che tra XML e JSON. – StaxMan
Conversione XML per JSON è abbastanza facile e può essere fatto diversi modi:
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
Per la conversione da XML a JSON un'occhiata a questo forse, sembra essere molto semplice:
http://www.bramstein.com/projects/xsltjson/
http://code.google.com/p/xml2json-xslt/
http://json-lib.sourceforge.net/index.html
C'è anche la libreria http://x-stream.github.io/ che consente di effettuare la conversione su entrambi i lati (anche per POJO). Semplice esempio di utilizzo si possono trovare qui: Convert XML to JSON format
/modificare: UPS, sembra che io non ho capito correttamente domanda: P
sì, XML to JSON è semplice ma ho bisogno di XSD to JSON Schema –
E XML to JSON non è molto valido, perché tende a produrre "franken-JSON" che contiene elementi non JSON non necessari (per conservare informazioni XML sullo spazio dei nomi, attributo/elemento distinzione ecc.). La conversione automatica potrebbe essere considerata un odore anti-pattern o di codice. – StaxMan
Se si può ottenere POJO che corrispondono Schema (usando xjc per esempio), si potrebbe quindi utilizzare Jackson per produrre schema JSON (vedere ObjectMapper.generateSchema(...)).
possibile duplicato di [Genera schema Json dallo schema XML (XSD)] (http://stackoverflow.com/questions/3922026/generate-json-schema-from-xml-schema-xsd) – lexicore
Vedi: http://stackoverflow.com/a/30006975/303810 – lexicore