[英]Jackson Polymorphic Deserialization Field Errors
尝试将json反序列化为抽象类型时出现错误。
码:
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="@class")
public abstract class Animal
{
}
public class Dog extends Animal
{
}
public class Zoo
{
Animal a;
}
@RequestMapping(value = "/zoos", method = RequestMethod.POST)
public void create(@RequestBody Zoo zoo)
{
...
}
当我将以下json发布到动物园时:
{
"@class": "com.example.Dog",
"a": {}
}
我收到错误:org.codehaus.jackson.map.exc.UnrecognizedPropertyException:无法识别的字段“ @class”(类com.example.Zoo),未标记为可忽略
我究竟做错了什么?
好吧,我是个白痴:
json应该是:
{
"a": {
"@class": "com.example.Dog"
}
}
因为@class属于动物类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.