См. Документы на пользовательских сериализаторах ;есть пример именно этого, работает для меня.
В случае перемещения документов, позвольте мне вставить соответствующий ответ:
Преобразование нулевых значений во что-то еще
(как пустые строки)
Если вы хотите вывести какое-то другое значение JSON вместо нуля (главным образом потому, что некоторые другие инструменты обработки предпочитают другие постоянные значения - часто пустую строку), все немного сложнее, поскольку номинальный тип может быть чем угодно;и хотя вы можете зарегистрировать сериализатор для Object.class
, он не будет использоваться, если не будет более конкретного сериализатора для использования.
Но есть особая концепция «нулевого сериализатора», которую вы можете использовать следующим образом:
// Configuration of ObjectMapper:
{
// First: need a custom serializer provider
StdSerializerProvider sp = new StdSerializerProvider();
sp.setNullValueSerializer(new NullSerializer());
// And then configure mapper to use it
ObjectMapper m = new ObjectMapper();
m.setSerializerProvider(sp);
}
// serialization as done using regular ObjectMapper.writeValue()
// and NullSerializer can be something as simple as:
public class NullSerializer extends JsonSerializer<Object>
{
public void serialize(Object value, JsonGenerator jgen,
SerializerProvider provider)
throws IOException, JsonProcessingException
{
// any JSON value you want...
jgen.writeString("");
}
}