20

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

4

5 回答 5

16

它不是很优雅,但杰克逊可以从 java 类生成 json 模式。因此,您可以获取您的 xml 模式,使用 jaxb 注释从中生成 java 类,然后从中生成 json 模式,因为杰克逊支持 jaxb 注释

于 2011-10-30T13:13:19.473 回答
5

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

于 2011-11-04T18:04:25.073 回答
3

我希望您能够相当轻松地编写一个从 XML 模式生成 JSON 结构的 XSLT 脚本。这是因为 XSLT 非常乐意读取和转换 XML,而 XML 模式就是 XML。

走另一条路会有点困难。您需要能够读取 JSON 模式并输出 XML 的东西。为此,您需要一个解析器,并且可能需要构建解析的 AST 的东西。有了这个和树遍历,您可能能够相当容易地生成 XML 模式。

ANTLR将让您相当容易地定义语法、构建解析器和 AST。它有某种“结构化文本”生成器,可以用于遍历 AST。

我们的DMS 软件再造工具包类似于 ANTLR,但具有更多的机器。使用 DMS,您可以定义 JSON 语法、构建 AST,然后编写源到源转换以将其映射到表示您的模式的 XML。

于 2011-11-02T02:42:34.843 回答
2

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

于 2011-11-02T10:40:41.817 回答
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)。您可以在此处找到简单的示例用法: 将 XML 转换为 JSON 格式

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

于 2011-11-02T22:04:18.743 回答