Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 序列化和反序列化Jackson接口(转换为具有JSON注释的类型)_Java_Json_Serialization_Jackson_Deserialization - Fatal编程技术网

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吗?!