我有3个相同的模型,但字段名称不同。我尽量减少代码。
public class Car {
private CarResults carResults;
}
public class Bike{
private BikeResults bikeResults;
}
public class Plane{
private PlaneResults planeResults;
}
PlaneResults,BikeResults,CarResults
是仅在字段“结果”结果内部具有的类;
我有以下JSON,并且一切正常
{
"bikeResults":{
"results": {
etc
}
}
}
{
"carResults":{
"results": {
etc
}
}
}
{
"planeResults":{
"results": {
etc
}
}
}
都是一样的,但是主包装是不同的,所以我需要有3个相同的模型。
如何避免它们,并使代码更清晰。
我尝试了
@JsonAnyGetter
它可以工作,但是我有json{
"bikeResults":{
etc
}
}
因此,我迷失了“结果”之路。
最佳答案
假设您正在使用jackson
库,则可以尝试使用@JsonProperty
和@JsonAlias
。
public class VehicleResult {
private Result results;
}
public class Vehicle {
@JsonProperty("bikeResults")
@JsonAlias("carResults")
@JsonAlias("planeResults")
private VehicleResult result;
}
阅读此Mapping Multiple JSON Fields to a Single Java Field