我在对象映射器上启用了defaultTyping,如下所示:
ObjectMapper mapper = new ObjectMapper();
mapper.enableDefaultTyping();
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
序列化后,我的JSON字符串不包含java.lang.*
类型的类型信息(例如java.lang.String
)。我猜这是设计的。
我遇到的问题是,在反序列化期间,有两种方法匹配:一种接受Enum,另一种接受String。当然,杰克逊无法决定使用哪种方法。我希望如果类型信息包含在序列化步骤中,这应该是一个非问题。
我已经走了@JsonIgnore
和Mixins的道路,遗憾的是这不可行。
知道如何让杰克逊成功反序列化吗?