Java 使用Jersey在反序列化上下文中存储变量

Java 使用Jersey在反序列化上下文中存储变量,java,jackson,jersey,json-deserialization,Java,Jackson,Jersey,Json Deserialization,我有一个MyClass的自定义JSON反序列化程序,声明如下: @JsonDeserialize(using=MyClassDeserializer.class) public class MyClass { ... 定义为 public class MyClassDeserializer extends JsonDeserializer<MyClass> { @Override public MyClass deserialize(JsonParser jso

我有一个MyClass的自定义JSON反序列化程序,声明如下:

@JsonDeserialize(using=MyClassDeserializer.class)
public class MyClass {
...
定义为

 public class MyClassDeserializer extends JsonDeserializer<MyClass> {

    @Override
    public MyClass deserialize(JsonParser jsonParser, DeserializationContext ctxt) {
    ...
我的问题是:如何在反序列化上下文中存储变量


我看到了,但我没有显式地创建映射器。

通过在反序列化方法中添加以下内容来实现这一点:

Long value = (Long) ctxt.findInjectableValue("abc", null, null);
在调用创建客户端之前,请执行以下操作:

ObjectMapper mapper = new ObjectMapper();
mapper.setInjectableValues(newInjectableValues());
JacksonJaxbJsonProvider jacksonProvider = new JacksonJaxbJsonProvider();
jacksonProvider.setMapper(mapper);
clientConfig.getSingletons().add(jacksonProvider); 
ObjectMapper mapper = new ObjectMapper();
mapper.setInjectableValues(newInjectableValues());
JacksonJaxbJsonProvider jacksonProvider = new JacksonJaxbJsonProvider();
jacksonProvider.setMapper(mapper);
clientConfig.getSingletons().add(jacksonProvider);