【问题标题】:Jackson & Jettison usage in JerseyJackson & Jettison 在泽西岛的使用
【发布时间】:2011-11-07 01:56:33
【问题描述】:

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

Jersey 会将这两者用于两种不同的功能还是同时用于相同的 JSON 生成/解析功能?

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

【问题讨论】:

    标签: java rest jersey jackson jettison


    【解决方案1】:

    Jersey 将在所有 JSON 处理中使用其中之一,而不是同时使用两者。 据我所知,建议使用杰克逊; Jettison 支持较旧,并且在 Jackson 可用之前实施。出于兼容性原因,仍然支持 Jettison,但除非某些代码依赖于它产生的确切结构(与直接映射不同),否则使用它几乎没有什么好处。

    【讨论】:

    • 谢谢。但是我将 Jettison 视为依赖项(我正在使用 Maven),即使我正在使用常规/直接映射?
    • 是的,如果有其他需要它(在运行时或可能只是为了编译,就像我认为的 Jersey 的情况),它需要被包括在内。但是它是否被使用是可以通过 Jersey 配置的,并且包含它并没有什么坏处。
    • 我不同意“包含它没有害处”这个词。知道什么用于什么是重要的。 Maven 让开发人员变得懒惰,项目变得臃肿。
    • 我同意一般观点,并且我个人尽量减少依赖关系。但是,一旦您知道特定库的用途,尝试修剪您几乎无法控制的包的依赖关系就没有什么好处了,这就是 Jersey 包含一些提供程序的情况。
    【解决方案2】:

    我同意,使用 Jackson 甚至 Google 的 GSON。 Jettison 限制太多,性能也比较低。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-13
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多