2011-08-30 72 views
11

Jersey框架同时使用JacksonJettison库进行JSON解组/编组。 AFAIK,Jettison用于将JSON映射到XML(具有不同的机制支持,如映射表示法),Jackson则用于JSON生成/解析(我没有使用Jersey也使用这种方法)。Jersey中的Jackson&Jettison用法

泽西将这两个用于两个不同的功能或两者用于相同的JSON生成/解析功能?

我只想支持JSON格式。在我的第一个想法,似乎我可以删除任何依赖关系,我想我可以删除Jettison,因为Jacksone似乎是JSON生成/解析的更自然的选择。

回答

7

对于所有的JSON处理,泽西将使用其中一个或另一个,而不是两个。 据我所知,推荐使用Jackson; Jettison的支持比较老,在杰克逊上市之前已经实施。出于兼容性原因,Jettison仍然受支持,但除非某些代码依赖于其生成的精确结构(与直接映射不同),否则使用它几乎没有什么好处。

+0

谢谢。但我看到Jettison作为依赖(我使用Maven),即使我使用常规/直接映射? – manikanta

+0

是的,如果其他东西需要它(无论是在运行时还是仅仅为了编译,就像我认为的Jersey一样),它需要包含在内。但是是否可以使用泽西岛进行配置,并且包含它也没有什么坏处。 – StaxMan

+6

我不同意术语“包含它没有伤害”。知道什么是重要的。 Maven让开发人员很懒,项目臃肿。 –

1

我同意,从谷歌使用杰克逊甚至GSON。 Jettison有太多限制,性能也较低。

相关问题