Джексон: Как добавить пользовательское свойство в JSON без изменения POJO
Я разрабатываю REST-интерфейс для моего приложения, используя Джексона для сериализации моих доменных объектов POJO в JSON-представление. Я хочу настроить сериализацию для некоторых типов, чтобы добавить дополнительные свойства к представлению JSON, которых нет в POJO (например, добавить некоторые метаданные, справочные данные и т. Д.). Я знаю, как написать свой собственныйJsonSerializer
, но в этом случае мне нужно было бы явно позвонитьJsonGenerator.writeXXX(..)
методы длякаждый свойство моего объекта, в то время как все, что мне нужно, это простодобавлять дополнительная собственность. Другими словами, я хотел бы иметь возможность написать что-то вроде:
@Override
public void serialize(TaxonomyNode value, JsonGenerator jgen, SerializerProvider provider) {
jgen.writeStartObject();
jgen.writeAllFields(value); //