2011-10-13 16 views
19

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?

+0

possibile duplicato di [Genera schema Json dallo schema XML (XSD)] (http://stackoverflow.com/questions/3922026/generate-json-schema-from-xml-schema-xsd) – lexicore

+0

Vedi: http://stackoverflow.com/a/30006975/303810 – lexicore

risposta

4

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.

+1

json schema è json, quindi è necessario solo un parser JSON – sbridges

+0

domanda originale era come generare JSON da XML. –

2

ad esempio CXF può servire in Json o XML, quindi deve avere un modo per convertire i due.

+0

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

2

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

+3

sì, XML to JSON è semplice ma ho bisogno di XSD to JSON Schema –

+2

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

Problemi correlati