我想反序列化java.net.HttpCookie它沒有默認的無參數構造函數,並得到: org.codehaus.jackson.map。 JsonMappingException:找不到類型爲[簡單類型,類java.net.HttpCookie]的合適構造函數:無法從JSON對象實例化(需要添加/啓用類型信息?行:1,柱:35@JsonCreator和mixin通過模塊不工作的第三方類
這是傑克遜映射器-ASL v 1.9.13
我發現Jackson 3rd Party Class With No Default Constructor並企圖通過兩個getDeserializationConfig以及使用模塊來使用他們的解決方案。我介紹下面的模塊代碼。
abstract class HttpCookieMixIn {
@JsonCreator
public HttpCookieMixIn(@JsonProperty("name") String name, @JsonProperty("value") String value) {
logger.info("Mixin called!");
}
}
public class MyModule extends SimpleModule {
public MyModule() {
super("ModuleName", new Version(0,0,1,null));
}
@Override
public void setupModule(SetupContext context) {
context.setMixInAnnotations(java.net.HttpCookie.class, HttpCookieMixIn.class);
logger.info("Set mixin annotation");
}
}
在服務器端點的構造,我有以下:
public ServerEndpointConstructor() {
mapper = new ObjectMapper();
mapper.registerModule(new MyModule());
}
我見「設定混入註釋」之前我在日誌中的反序列化的異常記錄。我沒有看到「Mixin叫!」 (儘管我不確定mixin構造函數中的代碼是否會被調用)。有人能以我的方式向我展示錯誤嗎?我是否需要註釋java.net.HttpCookie中的所有字段?
http://docs.oracle.com/javase/7/docs/api/java/net/HttpCookie.html
對我來說,即使它是一個內部類 – danieljohngomez 2018-03-09 03:24:13