是否有一个SaxParser读取json并触发事件,因此它看起来像xml

时间:2010-12-07 03:52:07

标签: java xml json sax

这会很棒,因为除了不同的sax解析器之外,它允许我的xml内容读取json w / out任何更改。

3 个答案:

答案 0 :(得分:13)

如果你的意思是,基于事件的解析器那么有几个项目可以做到这一点:

  1. http://code.google.com/p/json-simple/

      

    用于JSON文本的流输入的可停止类SAX接口

         

    此项目已移至https://github.com/fangyidong/json-simple

  2. http://jackson.codehaus.org/Tutorial

      

    Jackson Streaming API类似于Stax API

         

    此项目已移至https://github.com/FasterXML/jackson-core

答案 1 :(得分:0)

我认为尝试将JSON视为XML(这是您基本上要求的)是一个坏主意;但是,Jettison就是这样做的。它通过Stax API(javax.xml.stream)公开JSON内容。如果你真的想要SAX,那么从Stax到SAX编写包装器也是微不足道的(但不是相反)。

我还认为,如果你更多地解释了你想要实现的目标,除了你希望使用的机制之外,你可能会得到更好的答案。例如,XML和JSON都有许多数据绑定工具;并且使用这样的工具可以比使用抽象意图更好地隐藏更低级别的细节,以便处理另一个。

答案 2 :(得分:0)

我已经开发了基于StAX的流式转换器:https://github.com/AtomGraph/JSON2XML

它读取所有JSON数据并生成XSLT 3.0中指定的XML Representation of JSON

即使没有XSLT 3.0处理器,JSON2XML仍可以使用XSLT进行JSON转换。您可以通过在转换之前使用JSON2XML来简单地预处理数据,然后将其通过管道传递到XSLT 2.0样式表中。这样,您的样式表就可以与XSLT 3.0向前兼容,因为XML表示形式完全相同。

欢迎反馈和请求请求。