Перво-наперво: JAXB НЕ выполняет JSON. Это XML API. Итак, вы, вероятно, используете фреймворк (мое предположение: реализация JAX-RS, как, может быть, Джерси)? Необходимо знать, какой из них вы используете для оказания дополнительной помощи.
Предполагается, что вопрос заключается в том, как пакет использует аннотации JAXB для управления сериализацией JSON. Некоторые в основном конвертируют объекты в XML (либо логическую структуру, либо полный XML), а затем конвертируют в JSON, используя соглашение. Это может привести к потере данных из-за различий в модели данных между XML и JSON.
Теперь: простое решение для большинства реализаций JAX-RS состоит в том, чтобы вообще не использовать подход, основанный на аннотациях JAXB, а специфичный для JSON сериализатор, такой как Jackson JacksonJsonProvider (Jackson может фактически использовать аннотации JAXB , тоже). По умолчанию он будет содержать нулевые значения для свойств, хотя это настраивается на случай, если вы хотите подавить нулевые значения.
Вот JavaDoc , который показывает, как использовать провайдера Джексона (укажите FEATURE_POJO_MAPPING для конфигурации) с Джерси, если это может помочь.