在搜索了一些现有的 JSON 库后,我最终得到了这两个:
- 杰克逊
- 谷歌GSon
我对 GSON 有点偏,但网上的消息是 GSON 存在某种天体性能问题(截至 2009 年 9 月)。
我继续比较;与此同时,我正在寻求帮助来下定决心。
我上周进行了这项研究,最终得到了相同的 2 个库。由于我使用的是 Spring 3(在其默认的 Json 视图“ JacksonJsonView ”中采用 Jackson),因此我更自然地做同样的事情。2个库几乎相同......最后它们只是映射到一个json文件!:)
无论如何,正如你所说,杰克逊的表现是+,这对我来说非常重要。从他们的网页可以看出,该项目也非常活跃,这也是一个非常好的迹象。
Jackson 和 Gson 是关于实际数据绑定支持的最完整的 Java JSON 包;许多其他包仅提供原始 Map/List(或等效树模型)绑定。两者都完全支持泛型类型,以及许多常见用例的足够可配置性。
由于我对 Jackson 比较熟悉,因此我认为 Jackson 在某些方面比 Gson 支持更完整(如果我错过了 Gson 功能,请致歉):
Gson 1.6 现在包括一个低级流 API 和一个实际上比 Jackson 更快的新解析器。
添加到上面已经给出的其他答案。如果不区分大小写对您很重要,请使用 Jackson。Gson 不支持键名不区分大小写,而 jackson 支持。
这里有两个相关链接
(否)Gson 中的区分大小写支持: GSON:如何从 Json 获取不区分大小写的元素?
Jackson 中的区分大小写支持 https://gist.github.com/electrum/1260489
似乎 Gson 不支持 JAXB。通过使用 JAXB 注解类创建或处理 JSON 消息,我可以共享同一个类来使用 Spring MVC 创建 Restful Web Service 接口。