Jackson: remova alguns valores do json e mantenha alguns valores nulos
Eu tenho um modelo como este:
public class Employee {
@JsonProperty("emplyee_id")
private Integer id;
@JsonProperty("emplyee_first_name")
private String firstName;
@JsonProperty("emplyee_last_name")
private String lastName;
@JsonProperty("emplyee_address")
private String address;
@JsonProperty("emplyee_age")
private Byte age;
@JsonProperty("emplyee_level")
private Byte level;
//getters and setters
}
agora eu preciso criar dois JSONs usando esse (apenas) modelo.
o primeiro deve ser assim, por exemplo:
{
"employee_id":101,
"employee_first_name":"Alex",
"employee_last_name":"Light",
"employee_age":null,
"employee_address":null
}
e o segundo deve ser assim, por exemplo:
{
"employee_id":101,
"employee_level":5
}
a propósito, eu já testei@JsonIgnore
e@JsonInclude(JsonInclude.Include.NON_NULL)
.
O problema do primeiro (tanto quanto eu sei) é que esses campos não podem ser incluídos em outros JSONs (por exemplo, selevel
obter esta anotação, ela não será incluída no segundo JSON)
e o problema do segundo é,null
valores não podem ser incluídos no JSON.
então, posso manter valores nulos e impedir que outras propriedades sejam incluídas no JSON sem criar modelos extras? se a resposta for sim, então como posso fazer isso? se não for, eu realmente aprecio se alguém me der a melhor solução para esse estado.
muito obrigado.