繁体   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