Как установить defaultValue для логического поля в jaxb - PullRequest
1 голос
/ 10 апреля 2020

Пока я пытаюсь выполнить маршалинг и маршалинг объекта с логическими свойствами с помощью @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.

, пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...