Включение нулевых элементов в вывод JSON API-интерфейса RESTful для Jersey с JAXB

У меня есть класс, который я хотел бы представить через API-интерфейс RESTful в Джерси. Это выглядит примерно так:

<code>@XmlRootElement
public class Data {
    public String firstName;
    public String lastName;
}
</code>

Моя проблема заключается в том, что эти поля могут быть нулевыми, и в этом случае поле опускается из вывода JSON. Я хотел бы, чтобы все поля присутствовали независимо от их значения. Например, если lastName равно нулю, вывод JSON будет:

<code>{
   "firstName" : "Oleksi"
}
</code>

вместо того, что я хочу:

<code>{
   "firstName" : "Oleksi",
   "lastName" : null
}
</code>

У меня есть JAXBContextResolver (реализация ContextResolver), который выглядит следующим образом:

<code>@Provider
public class JAXBContextResolver implements ContextResolver<JAXBContext> {

     // internal state
    private final JAXBContext context;    
    private final Set<Class> types; 
    private final Class[] cTypes = { Data.class };


    public JAXBContextResolver() 
    throws Exception {

        types = new HashSet(Arrays.asList(cTypes));
        context = new JSONJAXBContext(JSONConfiguration.natural().humanReadableFormatting(true).build(), cTypes);
    }

    @Override
    public JAXBContext getContext(Class<?> objectType) {

        return (types.contains(objectType)) ? context : null;
    }
}
</code>

Я пытался выяснить, как получить желаемый результат некоторое время, но мне не повезло. Я открыт для того, чтобы попробовать другие ContextResolvers / Serializer, но мне не удалось найти тот, который работает, поэтому примеры кода были бы хорошими.

Ответы на вопрос(2)

Ваш ответ на вопрос