我定義jackoson串行並將其添加到Java類JsonDeserialize這樣的:不兼容的類型一般
@JsonDeserialize(using = ReportFilterDeserializer.class)
編譯器把這個錯誤:
error: incompatible types: Class<ReportFilterDeserializer> cannot be converted to Class<? extends JsonDeserializer<?>>
@JsonDeserialize(using = ReportFilterDeserializer.class)
註釋的Def是:
public Class<? extends JsonDeserializer<?>> using() default JsonDeserializer.None.class;
如果我從ReportFilterDeserializer中刪除通用的atttibute其傳遞的編譯。我不明白爲什麼編譯器會抱怨。
class ReportFilterDeserializer<T> extends JsonDeserializer<ReportFilter<T>> {
@Override
public ReportFilter<T> deserialize(JsonParser jsonParser,DeserializationContext arg1) throws IOException,JsonProcessingException {
return null;
}
}
如何爲這個序列化對象的申報代碼是什麼樣子? – MaxZoom
你如何計劃實施'反序列化'?你如何確定JSON內的'T'? –
你可以看看這個: http://stackoverflow.com/questions/17979346/jackson-read-json-in-generic-list 這是我如何實現。這個問題是關於泛型的,所以我們放下json isssue。 – user1236097