jackson2.0与泽西岛1.12

有没有人设法使用jackson2.0与泽西1.12。 知道这将是非常有趣的。 我们必须在整个地方使用jackson1.9.x,因为jersey有jackson如此强烈耦合。 从我所看到的甚至jersey2.0M3仍然使用jackson1.9.2。 所以似乎没有必要等待jersey队在不久的将来做到这一点。

定制提供商工作; 和“官方”Jackson 2.0 JSON提供程序项目相同,具有更多function(能够使用@JsonView注释和其他一些资源方法)。

这是JAX-RS的一个好处:一切都是模块化的,添加新的改进的提供者非常容易。

我的项目中有Jackson 2.0和Jersey 1.12。 我没有遇到任何问题,但可能的原因是我有自定义Provider和一些额外的ObjectMapper设置。 简化版:

 import javax.ws.rs.ext.ContextResolver; import javax.ws.rs.ext.Provider; import com.fasterxml.jackson.databind.ObjectMapper; @Provider public class ObjectMapperProvider implements ContextResolver { private final ObjectMapper defaultObjectMapper; public ObjectMapperProvider() { defaultObjectMapper = new ObjectMapper(); } @Override public ObjectMapper getContext(Class type) { return defaultObjectMapper; } } 

如果您尝试将JsonView与Jersey一起使用,则必须使用org.codehaus.jackson.map.annotate.JsonView,如果您在此处使用方法2.2: http ://wiki.fasterxml.com/JacksonFAQJaxRs

如果要使用com.fasterxml中的JsonView,则必须在该页面上使用常规方法(1)。