相关疑难解决方法(0)

如何从Jackson中的自定义反序列化器调用默认反序列化器

我在杰克逊的自定义反序列化器中遇到了问题.我想访问默认的序列化程序来填充我反序列化的对象.在人口之后,我将做一些自定义的事情,但首先我想用默认的jackson行为反序列化对象.

这是我目前的代码.

public class UserEventDeserializer extends StdDeserializer<User> {

  private static final long serialVersionUID = 7923585097068641765L;

  public UserEventDeserializer() {
    super(User.class);
  }

  @Override
  @Transactional
  public User deserialize(JsonParser jp, DeserializationContext ctxt)
      throws IOException, JsonProcessingException {

    ObjectCodec oc = jp.getCodec();
    JsonNode node = oc.readTree(jp);
    User deserializedUser = null;
    deserializedUser = super.deserialize(jp, ctxt, new User()); 
    // The previous line generates an exception java.lang.UnsupportedOperationException
    // Because there is no implementation of the deserializer.
    // I want a way to access the default spring deserializer for my …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jackson

92
推荐指数
7
解决办法
4万
查看次数

如何使用Java和Jackson Library对Json String进行多态反序列化?

我有一些类A,B,C它们都继承自BaseClass类.

我有一个String json,它包含A,B,C或BaseClass的json表示.

我想有一些方法将此String反序列化为BaseClass(多态反序列化).像这样的东西

BaseClass base = ObjectMapper.readValue(jsonString, BaseClass.class);
Run Code Online (Sandbox Code Playgroud)

jsonString 可以是A,B,C或BaseClass中任何一个的Json String表示.

java serialization json base-class jackson

24
推荐指数
1
解决办法
2万
查看次数

标签 统计

jackson ×2

java ×2

base-class ×1

hibernate ×1

json ×1

serialization ×1

spring ×1