У меня есть POJO и Im, пытающиеся исключить пустые поля, используя аннотацию Include.NOT_EMPTY
следующим образом.JSON Jackson не игнорирует нулевые поля
Обновлены Полный код
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class Items {
/**
*
*/
@JsonProperty("items")
private List<Item> items = new ArrayList<Item>();
private Map<String, Object> additionalProperties =
new HashMap<String, Object>();
/**
*
* @return
* The items
*/
@JsonProperty("items")
public List<item> getItems() {
return items;
}
/**
*
* @param items
* The items
*/
@JsonProperty("items")
public void setitems(List<Item> items) {
this.items = items;
}
@JsonAnyGetter
@JsonUnwrapped
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
Однако, когда я распечатать JSON, я получаю ответ следующим образом.
{ "items": [
{...}],
"additionalProperties": { } // I expect this to be removed.
}
Любая идея, что я делаю неправильно здесь? Я использую Jackson-core 2.1.1, если это имеет значение.
Ваш код отлично подходит для меня. Если я создаю 'new Items()' и сериализую это напрямую, JSON сгенерирован '{}'. –
@JarrodRoberson Я уже проверил связанный вопрос, и он НЕ помогает. – KodeSeeker
Пожалуйста, дайте нам полный пример. –