Джексон сериализует свойства суперкласса как вложенный элемент дочернего объекта?JAVA

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

Сообщение Anonymous »

Я пытаюсь согласовать некоторую потоковую передачу json из классов, производных от XSD, таким образом, чтобы это было удобно для protobuf.
XDS были созданы с использованием элементов, которые наследуются от суперкласса/ дочерние классы.

Эквивалент Protobuf был определен с использованием содержащихся «базовых» элементов для хранения общих свойств (поэтому каждый дочерний элемент содержит «базовое» свойство, которое является общим классом).Импортированный XSD создает:

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

public class Vehicle {
string make;
string model;
}

public class Car extends Vehicle {
integer doors;
}

public class Truck extends Vehicle {
integer weight
}
Есть ли способ заставить класс Car сериализоваться в json со свойствами суперкласса Vehicle, завернутыми как:

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

{
"base": {"make":"Ford", "model":"Ka"},
"doors": 2
}
Т.е. как если бы класс Car был определен как:

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

public class Car {
Vehicle base;
integer doors;
}
Я получаю большую (и развивающуюся) объектную модель, но относительно мало базовых классов, поэтому я мог бы аннотировать или писать собственные сериализаторы для базовых классов, но это было бы неосуществимо менять каждый дочерний класс.

Подробнее здесь: https://stackoverflow.com/questions/788 ... ild-object

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