Если у меня был сложный объект ответа, как мне игнорировать нули с аннотацией JsonInclude - PullRequest
0 голосов
/ 16 мая 2019

По-моему, у меня есть сложный объект, подобный приведенному ниже, в качестве ответа моего отдыха на запрос

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

 }

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

Я просто хотел игнорировать null с в классе emp и Address.

У меня вопрос, если я использую JsonInclude в emp классе, это поможет отменить null в классе адресов при отправке обратно в виде ответа json.

Я еще не пробовал, просто подумал и хотел спросить, сработает ли это.

Как работать с Complex Json

Ответы [ 2 ]

0 голосов
/ 15 июля 2019

Чтобы ответить на этот вопрос,

при попытке @JsonInclude (JsonInclude.Include.NON_EMPTY) проверяет как нулевое, так и пустое.

0 голосов
/ 16 мая 2019

если вы используете Джексона, вы можете сделать это с 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"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...