2011-10-13 74 views

回答

4

我希望你能够编写一个XSLT脚本,它很容易地从XML模式中生成JSON结构。这很有效,因为XSLT非常乐意阅读和转换XML,而XML模式只是XML。

走另一条路会比较困难。您需要一些可读取JSON模式并吐出XML的东西。为此,你需要一个解析器,并且可能会构建一个解析的AST。通过这种方式和树状结构,您可以很容易地生成XML模式。

ANTLR将让你定义语法,相当容易地建立一个解析器和一个AST。它有一些“结构化文本”生成器,可能适用于走AST。

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

+1

json模式是json,所以你只需要一个json解析器 – sbridges

+0

OP的原始问题是如何从XML生成json。 –

2

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

+0

不,这不一定意味着转换通过模式,或者甚至是XML和JSON之间的转换。许多框架分别生成XML和JSON,作为单独的表示。在POJO和JSON之间转换比在XML和JSON之间转换更容易。 – StaxMan

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/图书馆,它允许你在双方(也POJOs)进行转换。简单的使用例子,你可以在这里找到: Convert XML to JSON format

/编辑:UPS,看起来像我的问题正确地不明白:P

+3

是的,XML到JSON很容易,但我需要XSD到JSON Schema –

+2

而XML到JSON也不是很有价值,因为它倾向于生成包含不必要的非JSON内容的“franken-JSON”(保留XML命名空间信息,属性/元素的区别等)。自动转换可以被认为是反模式或代码异味。 – StaxMan