我看到使用Java的fastXML / Jackson的enableDefaultTyping()
方法可用于序列化存储数据类型的Java对象。
是否有一个库可以在Python中做同样的事情? FasterXML指出了https://github.com/antidot/Pyckson,但似乎没有该功能。
基本上,如何在Python中创建如下所示的JSON:
{
"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);