【发布时间】:2011-06-19 15:00:04
【问题描述】:
我即将为基于 Spring 的应用程序选择一个 JSON 库,并希望了解这两种解决方案的优缺点。当然有条件的利弊是显而易见的:)
提前致谢!
【问题讨论】:
我即将为基于 Spring 的应用程序选择一个 JSON 库,并希望了解这两种解决方案的优缺点。当然有条件的利弊是显而易见的:)
提前致谢!
【问题讨论】:
如果性能很重要,那么 Java 平台上的性能就无法与 Jackson 相提并论(请参阅 this、this 或 this 作为初始数据点)。 一些较新的库(例如“json-smart”)声称轻量级、快速(er),但没有外部验证;最常见的是因为他们自己的结果不遵循performance measurement best practices。因此,要了解特定用例的性能详细信息,请使用您自己的数据对其进行测试,看看情况如何,此外还要进行一些谷歌搜索。
除了性能之外,还有 this blog post(“杰克逊杀手的 7 项功能”)概述了 Jackson 自己提供的功能(不考虑与框架的集成)——其他库有自己的优势,对于 flex-json我了解它的输出端(编写 JSON)非常灵活和强大。如果您绝对想最小化 JSON 库 (jar) 的大小,"Stringtree" 和 GSON-streaming 是不错的选择(但不提供数据绑定)。
【讨论】:
关于 Spring-JSON 我不能说太多,但我发现 Jackson 是一个非常成熟和灵活的解决方案。它与 Spring 本身很好地集成在一起;例如,如果您在类路径中有 Jackson,则可以使用带有 @ResponseBody 注释的方法获得对 JSON 的支持。它相当快,并且有很好的文档。
【讨论】:
对于我的项目,Spring 3.0.5 与 Jackson 1.6.3 无缝协作(jackson-core-asl-1.6.3.jar、jackson-mapper-asl-1.6.3.jar)
【讨论】: