Java 序列化和反序列化Jackson接口(转换为具有JSON注释的类型)
当我运行此代码时:Java 序列化和反序列化Jackson接口(转换为具有JSON注释的类型),java,json,serialization,jackson,deserialization,Java,Json,Serialization,Jackson,Deserialization,当我运行此代码时: public void serialize(someInterface i, OutputStream o) throws Exception { if(i == null || o == null){ throw new NullPointerException(); } ObjectMapper mapper = new ObjectMapper(); mapper.writeValue(o, i); } 我得到这个错误
public void serialize(someInterface i, OutputStream o) throws Exception {
if(i == null || o == null){
throw new NullPointerException();
}
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(o, i);
}
我得到这个错误:
com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of, problem: abstract types either need to be mapped to concrete types, have custom deserializer, or be instantiated with additional type information
我正在尝试序列化和反序列化接口I。我知道我必须将其转换为具有JSON注释的不同类型。这样杰克逊就能读到它了。但我不知道该怎么做
我希望在不修改界面的情况下执行此操作。代码如下:
@JsonSerialize(as=someInterface.class)
接口类中还有其他注释吗?!你有JsonSubTypes吗?!接口类中还有其他注释吗?!你有JsonSubTypes吗?!