我正在为我的应用程序编写一组REST API以XML和JSON内容类型。我想在设计和实现这些API时,对XML/JSON处理库做出明智的选择。以下是对API的各种非功能要求:XML/JSON处理
- 性能 - API处理大量数据(有效负载可能以兆字节为单位)。与API输出相比,API输入大小更少。
- 过滤功能 - API的调用者应该能够指定过滤条件,根据该过滤条件修剪输出以优化带宽消耗。
作为我们研究和分析的一部分,我们确实了解了DOM API和JAXB/Jackson API。考虑到上面列出的非功能性要求,请求您就选择正确的API提出建议/建议。
这是我对编组&使用这些API的非编组过程的理解。如果我错了,请纠正我。
- DOM的API - 2点步骤的过程(使用DOM解析器&的XMLSerializer)
XML/JSON来DOM来POJO & POJO到DOM到XML/JSON - JAXB的API - 单步工艺(使用注释)
XML/JSON到POJO & POJO到XML/JSON
虽然JAXB注释更容易,更方便,在编组方面/解组没有的DOM API有更好的表现?
此外,有什么指导什么时候选择什么XML处理库? 对于多种内容类型处理,选择不同的库会更好吗?例如。杰克逊的JSON和JAXB的XML(纯粹是为了表现)。
对于JSON内容类型,在将JSON转换为DOM对象或从DOM对象转换JSON时是否存在任何开销?
总之,去StAX(在JAXB /杰克逊支持)。 DOM不适用于大型XML,所以您需要基于事件的SAX或StAX,并且StAX更易于处理。杰克逊,伍德斯托克是一条路。 – lexicore 2015-02-11 15:09:44
谢谢。感谢您的帮助... – dinup24 2015-02-13 11:50:00