Я вижу, что с помощью Java более быстрый метод XMLX / Джексона enableDefaultTyping()
можно использовать для сериализации объекта Java, хранящего тип данных.
Существует ли библиотека, которая делает то же самое в Python?FasterXML указывает на https://github.com/antidot/Pyckson,, но, похоже, у него нет этой функции.
В принципе, как я могу создать JSON, который выглядит следующим образом в Python:
{
"vehicles":
[
"java.util.ArrayList",
[
[
"org.baeldung.jackson.inheritance.Car",
{
"make": "Mercedes-Benz",
"model": "S500",
"seatingCapacity": 5,
"topSpeed": 250.0
}
],
[
"org.baeldung.jackson.inheritance.Truck",
{
"make": "Isuzu",
"model": "NQR",
"payloadCapacity": 7500.0
}
]
]
]
}
Выше создан для класса Java
# Java
Car car = new Car("Mercedes-Benz", "S500", 5, 250.0);
Truck truck = new Truck("Isuzu", "NQR", 7500.0);
List<Vehicle> vehicles = new ArrayList<>();
vehicles.add(car);
vehicles.add(truck);
Fleet serializedFleet = new Fleet();
serializedFleet.setVehicles(vehicles);
mapper.enableDefaultTyping():
String jsonDataString = mapper.writeValueAsString(serializedFleet);