在搜索了一些现有的JSON库后,我最终选择了以下两个:
- Jackson
- Google GSon
我稍微倾向于使用GSON,但网络上的传言是GSon存在一个名为“天体性能问题”的 问题(截至2009年9月)。
我正在进行比较,并在此期间,我正在寻求帮助来做出决定。
在搜索了一些现有的JSON库后,我最终选择了以下两个:
我稍微倾向于使用GSON,但网络上的传言是GSon存在一个名为“天体性能问题”的 问题(截至2009年9月)。
我正在进行比较,并在此期间,我正在寻求帮助来做出决定。
上周我做了这项研究,最终得出了相同的两个库。由于我正在使用Spring 3(它在其默认Json视图中采用了Jackson的'JacksonJsonView'),因此对我来说更自然的选择是使用同样的库。这两个库基本相同... 最终它们只是映射到一个json文件!:)
无论如何,就像你所说的那样,Jackson在性能方面优于其他库,这对我来说非常重要。从他们的网页可以看出,该项目也相当活跃,这也是一个很好的迹象。
Gson 1.6现在包含了一种低级别的流API和一个新的解析器,实际上比Jackson更快。
在其他已经给出的答案中补充一些内容。如果对大小写不敏感很重要,那么使用Jackson。Gson不支持键名称的大小写不敏感,而jackson支持。
这里有两个相关链接
Gson中(无)大小写敏感性支持: GSON:如何从Json中获取一个不区分大小写的元素?
Jackson中的大小写敏感性支持: https://gist.github.com/electrum/1260489
MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES
。因此,无需添加自定义代码来实现该功能。 - StaxMan看起来GSon不支持JAXB。 通过使用JAXB注释的类创建或处理JSON消息,我可以使用Spring MVC共享同一类来创建Restful Web服务接口。