在ObjectMapper反序列化过程中,如果所有属性为空,则忽略内部对象。

问题描述 投票:0回答:1

我有一个下面的产品类别

@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class Product {
    private String id;
    private String status;
    private Price price
}

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Price {
    private String originalPrice;
    private String newPrice;
}

在反序列化之后,我得到了如下的输出json。

{
  "id" : 2113,
  "status" : "New",
  "price" : { },
}

但我希望得到如下的输出,没有价格细节,因为价格的所有属性都是空的。

{
  "id" : 2113,
  "status" : "New"
}

我在类级尝试了@JsonInclude(JsonInclude.Include.NON_EMPTY),但没有成功。

任何帮助都是非常感激的。

java-8 json-deserialization objectmapper
1个回答
0
投票

这可能是因为你的Price对象不是空的。在某个地方,Price被初始化了,并且是空的。

请看下面的例子 此处

如果不是这样,那么,你可以为你的servicecontroller添加返回Product的代码。

© www.soinside.com 2019 - 2024. All rights reserved.