Пока я пытаюсь выполнить маршалинг и маршалинг объекта с логическими свойствами с помощью @XmlJavaTypeAdapter (BooleanAdapter.class), в ответе json я получаю 'null' вместо 'false'.
мой пример объекта и классы адаптера
publi c класс Test {
@XmlJavaTypeAdapter(BooleanAdapter.class)
boolean b1;
@XmlJavaTypeAdapter(BooleanAdapter.class)
boolean b2;
@XmlJavaTypeAdapter(BooleanAdapter.class)
boolean b3;
}
publi c класс BooleanAdapter extends XmlAdapter {
@Override
public Boolean unmarshal(Boolean v) throws Exception {
/*
*
*/
return Boolean.TRUE.equals(v);
}
@Override
public Boolean marshal(Boolean v) throws Exception {
if (v) {
return v;
}
return null;
}
}
в Marshaling удаляю поля со значением 'false', чтобы сохранить ответ в базе данных. но когда я получаю json ответ приходит, как показано ниже.
{"b1": null, "b2": true, "b3": null}
здесь значения b1 и b2 являются ложными. в ответе требуется значение false, а не null.
, пожалуйста, помогите.