簡體   English   中英

JAX-RS / JAXB JSON到POJO-忽略POJO中不存在的JSON字段

[英]JAX-RS/JAXB JSON to POJO - Ignore fields in JSON that don't exist in the POJO

我正在開發一個API,該API需要能夠處理PUT / POST上的JSON有效負載,這可能是已知POJO的超集。

例如:

@XmlRootElement
public FruitCounter
{
   int numberOfApples;
   int numberOfOranges;

   public int getNumberOfApples()
   {
      return this.numberOfApples();
   }

   public int setNumberOfApples(int numberOfApples)
   {
      this.numberOfApples = numberOfApples;
   }

   public int getNumberOfOranges()
   {
      return this.numberOfOranges();
   }

   public int setNumberOfOranges(int numberOfOranges)
   {
      this.numberOfOranges = numberOfOranges;
   }
}

執行GET時,將沿着以下幾行產生JSON:

{
   numberOfApples: 4,
   numberOfOranges: 7
}

我們需要能夠像下面這樣處理JSON負載,以更新蘋果和橙子的計數,但不對梨做任何事情。

{
   numberOfApples: 9,
   numberOfOranges: 19,
   numberOfPears: 21
}

有什么干凈的方法可以做到這一點嗎?

在類頂部添加@JsonIgnoreProperties(ignoreUnknown = true)

   @JsonIgnoreProperties(ignoreUnknown = true)    
    @XmlRootElement
    public FruitCounter
    {
       int numberOfApples;
       int numberOfOranges;

       public int getNumberOfApples()
       {
          return this.numberOfApples();
       }

       public int setNumberOfApples(int numberOfApples)
       {
          this.numberOfApples = numberOfApples;
       }

       public int getNumberOfOranges()
       {
          return this.numberOfOranges();
       }

       public int setNumberOfOranges(int numberOfOranges)
       {
          this.numberOfOranges = numberOfOranges;
       }
    }

還要檢查這個問題,這似乎是同樣的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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