Я сериализую POJO с помощью jackosn, и я хочу, чтобы все значения, для которых пользователь задает какое-либо значение независимо от того, является ли оно нулевым или нет, должны быть включены в сериализацию.Jackson включает null, установленный пользователем?
Так в настоящее время:
POJO:
public class YourItem {
public String key;
public String item;
}
В настоящее время, когда пользователь делает:
YourItem item = new YourItem();
item.setKey("abc");
сериализации дает:
{
"key" : "abc"
}
, как я настроил ObjectMapper
as objectMapper.setInclude(Include.NON_NULL)
Однако теперь, если пользователь специально вызывает setter и устанавливает значение как null, тогда я хочу этот элемент в своей сериализованной строке. Так что если пользователь делает
YourItem item = new YourItem();
item.setKey("abc");
item.setItem(null);
Я хочу в serialzation оба ключа и пункт значения присутствуют как:
{
"key" : "abc",
"item" : null
}
Как разграничить между установлен нулевой пользователя и нуль по умолчанию. Есть ли конфигурация в ObjectMapper ??
Здесь, конечно, есть дубликат, но попробуйте 'NON_DEFAULT'. –
@SotiriosDelimanolis: Я пробовал 'NON_DEFAULT', но это не имеет значения. Значение null, заданное пользователем, опущено –
Разве это не то, что вы хотели? –