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

问题描述 投票:19回答:3

这将是很好的,因为它允许我的xml东西读取json w / out除了不同的sax解析器之外的任何更改。

java xml json sax
3个回答
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
投票

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

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


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表示完全相同。

欢迎提供反馈和拉取请求。

© www.soinside.com 2019 - 2024. All rights reserved.