【发布时间】:2014-09-07 20:23:17
【问题描述】:
我正在编写一个 mixin 来将字符串反序列化为 javax.servlet.http.Cookie
Mixin.java
包装一个;
导入 org.codehaus.jackson.annotate.JsonProperty;
公共抽象类 MixIn {
MixIn(@JsonProperty("name") 字符串名称,@JsonProperty("value") 字符串值) { }
}
HelloWorld.java
包 b;
导入a.MixIn;
ObjectMapper 映射器 = 新 ObjectMapper();
mapper.getDeserializationConfig().addMixInAnnotations(Cookie.class, MixIn.class);
Cookie aCookie = mapper.readValue("{"name":"abc","value":"xyz"}", Cookie.class);
似乎提供了“JsonMappingException: No suitable constructor found for type [simple type, class javax.servlet.http.Cookie]”错误。
请注意
- Mixin 被(必须)定义为一个单独的类(不是内部类,不是静态的)
- Mixin 及其使用的类(必须)在 2 个不同的包中。
我使用的是杰克逊 1.9.9
【问题讨论】:
-
我仍然无法重现。这是我的代码的链接:github.com/Alexey1Gavrilov/stackoverflow/tree/master/src/main/…
-
标记为与最近的问题重复。这两个问题的答案都在这个问题中。
标签: java jackson deserialization mixins