忽略JAX-RS Jersey JSON ObjectMapper配置

时间:2012-01-19 13:18:37

标签: json jaxb jersey jackson

我有以下代码来更改杰克逊的房产。我正在使用XMLRootElements注释类,并让Jersey使用jackson将其转换为JSON。

类是JAXB注释的。

@Provider
@Produces("application/json")
public class JacksonObjectMapper implements ContextResolver<ObjectMapper> {
private ObjectMapper objectMapper;

     public JacksonObjectMapper() throws Exception {
        objectMapper.configure( DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
    }

@Override
    public ObjectMapper getContext(Class<?> type) {
         return this.objectMapper;
    }
}

上面的配置,如果我在杰克逊外面使用杰克逊(即:使用他自己的功能),可以正常工作,但如果我在泽西应用程序中使用它,配置选项将被忽略。

有没有办法指示Jersey使用我的类从XML序列化/反序列化为JSON?

1 个答案:

答案 0 :(得分:2)

将此类添加到javax.ws.rs.core.Application的类列表中:

application.addClass(JacksonObjectMapper.class)