我有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

10-06 07:09