Автоматически сериализовать вложенные нулевые объектыJAVA

Программисты JAVA общаются здесь
Anonymous
Автоматически сериализовать вложенные нулевые объекты

Сообщение Anonymous »

У меня есть набор классов, структурированных следующим образом:

Код: Выделить всё

public class A implements Serializable {
String prop1;
String prop2;
B prop3;
}

public class B implements Serializable {
String nestedProp4;
String nestedProp5;
C nestedProp6;
}

public class C implements Serializable {
String nestedProp7;
}
Мне нужно сериализовать экземпляр класса A. Вот код, который я использую:

Код: Выделить всё

A obj = new A();
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.valueToTree(obj);
Фактический результат сериализации:

Код: Выделить всё

{
"prop1": null,
"prop2": null,
"prop3": null
}
Однако мне нужно, чтобы результат включал вложенную структуру с нулевыми значениями свойств, например:

Код: Выделить всё

{
"prop1": null,
"prop2": null,
"prop3": {
"nestedProp4": null,
"nestedProp5": null,
"nestedProp6": {
"nestedProp7": null
}
}
}
Существует ли автоматический способ или аннотация конфигурации для достижения этой сериализации без использования отражения или установки значений по умолчанию?
Кроме того, у меня есть много свойств в этих классы, поэтому я предпочитаю не добавлять аннотации к каждому свойству. Аннотации в верхней части классов разрешены.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ll-objects

Вернуться в «JAVA»