2011-10-13 24 views
19

¿Alguien conoce una herramienta o enfoque desde el que podamos generar un esquema JSON a partir de un esquema XML o un esquema XML a partir del esquema JSON de Java?¿Hay alguna herramienta para generar un esquema JSON desde un esquema XML a través de Java?

+0

posible duplicado de [Generar esquema de Json a partir del esquema XML (XSD)] (http://stackoverflow.com/questions/3922026/generate-json-schema-from-xml-schema-xsd) – lexicore

+0

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

Respuesta

4

Espero que pueda escribir un script XSLT que generó estructuras JSON desde el esquema XML con bastante facilidad. Esto funciona porque XSLT está encantado de leer y transformar XML, y un esquema XML es solo XML.

Ir por el otro lado sería un poco más difícil. Necesita algo que pueda leer un esquema JSON y escupir XML. Para esto necesita un analizador sintáctico, y probablemente algo que construya un AST del análisis sintáctico. Con eso y una caminata por el árbol es probable que pueda generar un esquema XML con bastante facilidad.

ANTLR le permitirá definir gramáticas, construir un analizador sintáctico y un AST con bastante facilidad. Tiene algún tipo de generador de "Texto estructurado" que podría funcionar para caminar el AST.

Nuestra DMS Software Reengineering Toolkit es como ANTLR pero con más maquinaria. Con DMS puede definir la sintaxis JSON, crear AST y luego escribir tranformatinos fuente a fuente para asignar eso a XML que representa su esquema.

+1

json schema es json, por lo que solo necesitas un analizador json – sbridges

+0

La pregunta original de OP era cómo generar json desde XML. –

2

por ejemplo, CXF puede servir la solicitud en Json o XML, por lo que debe tener una forma de convertir los dos.

+0

No, esto no necesariamente significa que la conversión pasa por esquemas, o que incluso hay una conversión entre XML y JSON. Muchos frameworks producen XML y JSON por separado, como representaciones separadas. Es más fácil convertir entre POJO y JSON que entre XML y JSON. – StaxMan

2

conversión de XML a JSON es bastante fácil y se puede hacer de varias maneras:

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

Para la conversión de XML a JSON vistazo a esto, tal vez, parece ser muy simple:

http://www.bramstein.com/projects/xsltjson/
http://code.google.com/p/xml2json-xslt/
http://json-lib.sourceforge.net/index.html

También hay una biblioteca http://x-stream.github.io/ que le permite realizar conversiones en ambos lados (también a POJO). Ejemplo de uso simple que se puede encontrar aquí: Convert XML to JSON format

/editar: UPS, parece que yo no entendía la pregunta correcta: P

+3

sí, XML to JSON es fácil pero necesito XSD para JSON Schema –

+2

Y XML to JSON tampoco es muy valioso, porque tiende a producir "franken-JSON" que contiene cosas innecesarias que no son de JSON (para retener información de espacio de nombres XML, distinción de atributo/elemento, etc.). La conversión automatizada podría considerarse un olor anti-patrón o código. – StaxMan

Cuestiones relacionadas