是否有工具通过Java从XML模式生成JSON模式?

时间:2011-10-13 12:37:44

标签: java xml json xsd jsonschema

是否有人知道我们可以通过Java从JASS模式生成XML模式或XML模式的JSON模式的工具或方法?

5 个答案:

答案 0 :(得分:17)

它不是很优雅,但杰克逊可以生成json schema from a java class 。因此,您可以使用xml架构generate java classes from it with jaxb annotations,然后从jackson supports jaxb annotations生成json架构。

答案 1 :(得分:5)

如果您可以获得与Schema匹配的POJO(例如使用xjc),则可以使用Jackson生成JSON模式(请参阅ObjectMapper.generateSchema(...))。

答案 2 :(得分:4)

我希望您能够编写一个XSLT脚本,该脚本可以非常轻松地从XML模式生成JSON结构。这是有效的,因为XSLT非常乐于阅读和转换XML,而XML模式只是XML。

走另一条路会有点困难。您需要能够读取JSON模式并吐出XML的东西。为此,您需要一个解析器,并且可能需要构建解析的AST。通过它和树步行,您可以非常轻松地生成XML模式。

ANTLR可让您轻松定义语法,构建解析器和AST。它有一些“结构化文本”生成器,可以用于行走AST。

我们的DMS Software Reengineering Toolkit就像ANTLR,但机器更多。使用DMS,您可以定义JSON语法,构建AST,然后编写源到源的tranformatinos,以将其映射到表示模式的XML。

答案 3 :(得分:2)

例如,CXF可以在Json或XML中提供请求,因此它必须有一种方法来转换这两个。

答案 4 :(得分:2)

将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)进行转换。您可以在此处找到简单的示例用法: Convert XML to JSON format

/编辑:ups,看起来我没有正确理解问题:P