有没有一个SaxParser可以读取json并触发事件,所以它看起来像xml

2022-09-01 23:47:14

这将是伟大的,因为它将允许我的xml内容读取json,除了不同的sax解析器之外没有任何更改。


答案 1

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

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

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

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

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

    Jackson Streaming API 类似于 Stax API

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


答案 2

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

我还认为,如果你更多地解释你想要实现的目标,超越你希望使用的机制,你可能会得到更好的答案。例如,有许多用于XML和JSON的数据绑定工具;使用这样的工具可以隐藏较低级别的细节,这比使用抽象来让一个人处理另一个要好得多。