如果我有一个复杂的响应对象,如何使用JsonInclude注释忽略null

时间:2019-05-16 07:19:29

标签: java spring spring-boot

每个人说我有一个像下面这样的复杂对象,作为对请求的其余响应

public class emp {
     int Id;
     String Name;
     Address address;

 }

 public Class address {
    String StreetAdress1;
    StreetAdress2;
    String AptNO;
    String Zip;
    String State;
    String Country;
  }

我只想忽略nullemp类中的Address

我的问题是,如果我在JsonInclude类上使用emp会有助于在返回为json响应的同时丢弃地址类中的null

我还没有尝试过,只是想一个问题,想问一下是否可行。

如何使用Complex Json

2 个答案:

答案 0 :(得分:0)

如果您使用的是Jackson,则可以使用 JsonInclude 批注进行操作:

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Address {
    private String streetAdress1;
    private String aptNO;
    private String zip;
    private String state;
    private String country;
    // setter and getter
}

public class Main {
    public static void main(String[] args) throws JsonProcessingException {
        Address address = new Address();
        address.setCountry("some-country");
        ObjectMapper mapper = new ObjectMapper();
        String       json   = mapper.writeValueAsString(address);
        System.out.println(json);
    }
}

结果:

{
    "country":"some-country"
}

答案 1 :(得分:0)

要回答此问题,

当我尝试@JsonInclude(JsonInclude.Include.NON_EMPTY)时要同时检查null和空值。