比方说,我有一个域类:含有不同类型的(但相同的接口)的列表春@RequestBody
public class Zoo{
private List<Animal> animals;
....
,其中的动物以不同的实现(猫,狗)的接口。比方说,我希望能够保存一个动物园对象:
@RequestMapping(value = "/zoo", method = RequestMethod.POST)
public @ResponseBody void save(@RequestBody Zoo zoo) {
....
,我想送一个JSON - 是这样的:
{
animals:[
{type:'Cat', whiskers-length:'3'},
{type:'Dog', name:'Fancy'}
]
}
我怎么能告诉Spring MVC的动物映射到猫当键入=='Cat'时键入,并在键入=='Dog'时将其映射到Dog类?
对不起被发现无效的JSON的混乱。但它仍然不能解决我的问题,即从json对象{type:'Cat',whiskersLength:'3'}到Cat类的映射。动物园类只知道动物列表包含动物。但是,json反序列化器如何知道用于特定json对象的Animal接口(Dog或Cat)的哪个实现? –