@JsonDeserialize转换器默认使用StdDelegatingDeserializer

时间:2015-07-14 12:06:47

标签: java json jackson deserialization

我试图使用 @JsonDeserialize注释转换器

@JsonDeserialize(converter = PGJsonConverter.class)

我正在使用spring data rest项目,当发送PUT请求时,从StdDelegatingDeserializer的超类JsonDeserializer调用deserialize方法

 public T deserialize(JsonParser p, DeserializationContext ctxt, T intoValue)
        throws IOException, JsonProcessingException
    {
        throw new UnsupportedOperationException("Can not update object of type "
                +intoValue.getClass().getName()+" (by deserializer of type "+getClass().getName()+")");
    }

如果我不使用@JsonDeserialize,我们会使用BeanDeserializer而不是StdDelegatingDeserializer。

在DeserializeCache:356中我找到了条件

 Converter<Object,Object> conv = beanDesc.findDeserializationConverter();
        if (conv == null) { // nope, just construct in normal way
            return (JsonDeserializer<Object>) _createDeserializer2(ctxt, factory, type, beanDesc);
        }

我的目标是将BeanDeserializer与自定义转换器一起使用。如何实现这个?

0 个答案:

没有答案