在搜索了一些现有的JSON库后,我终于得到了这两个:
我对GSON有点偏爱,但网上的消息是GSon遭受某种天体表现issue(截至2009年9月)。
我继续比较;与此同时,我正在寻求帮助以便下定决心。
答案 0 :(得分:111)
上周我做了这项研究,最后我得到了相同的2个库。当我使用Spring 3(在默认的Json视图中使用Jackson'JacksonJsonView')时,我更自然地这样做。 2 lib几乎相同......最后它们只是映射到json文件! :)
无论如何,正如你所说杰克逊在表现上有+,这对我来说非常重要。从their web page可以看出,该项目也相当活跃,这也是一个非常好的迹象。
答案 1 :(得分:80)
Jackson和Gson是关于实际数据绑定支持的最完整的Java JSON包;许多其他包只提供原始Map / List(或等效树模型)绑定。 两者都完全支持泛型类型,以及许多常见用例的足够可配置性。
由于我对杰克逊比较熟悉,所以我认为杰克逊在某些方面比Gson有更完整的支持(如果我错过了Gson功能,我会道歉):
答案 2 :(得分:36)
Gson 1.6现在包含一个低级流API和一个新的解析器,实际上比Jackson更快。
答案 3 :(得分:12)
添加上面已经给出的其他答案。如果案件不敏感对你很重要,那就用杰克逊。 Gson不支持对键名称不区分大小写,而杰克逊则不支持。
以下是两个相关链接
(否)Gson中的区分大小写支持: GSON: How to get a case insensitive element from Json?
Jackson的案例敏感性支持 https://gist.github.com/electrum/1260489
答案 4 :(得分:6)
似乎GSon不支持JAXB。 通过使用JAXB注释类来创建或处理JSON消息,我可以使用spring MVC共享同一个类来创建Restful Web Service接口。