簡體   English   中英

傑克遜多態反序列化場錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM