【问题标题】:Smart way to map knotty json映射棘手的json的聪明方法
【发布时间】:2020-02-15 21:54:01
【问题描述】:

我有下面的 json,我正在寻找一种聪明的方法来为 java 对象映射它。直到现在我都尝试过这种方式,但它没有帮助。

JSON:https://pastebin.com/NBCGXgUD

这是我试过的

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class TravelpayoutsResponse {
    private boolean success;
    private TravelpayoutsData data;
    private String error;
    private String currency;
}

@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
public class TravelpayoutsData {
    private FlightDetails flightDetails[];
}

@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
public class FlightDetails {
private FlightDetail[] flightDetails;
}

@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
public class FlightDetail {
    private int price;
    private String airline;
    @JsonProperty("flight_number")
    private String flightNumber;
    @JsonProperty("departure_at")
    private String departureDate;
    @JsonProperty("return_at")
    private String returnDate;
    @JsonProperty("expires_at")
    private String expirationDate;
}

但这对我没有用。也许你知道如何映射它?我会很感激的

【问题讨论】:

    标签: java json serialization jackson


    【解决方案1】:

    JSON 中没有任何数组。

    @Getter
    @Setter
    @AllArgsConstructor
    @NoArgsConstructor
    @JsonIgnoreProperties(ignoreUnknown = true)
    public class TravelpayoutsResponse {
        private boolean success;
        private Map<String, Map<String, FlightDetail> data;
        private String error;
        private String currency;
    }
    
    @Getter
    @Setter
    @JsonIgnoreProperties(ignoreUnknown = true)
    public class FlightDetail {
        private int price;
        private String airline;
        @JsonProperty("flight_number")
        private String flightNumber;
        @JsonProperty("departure_at")
        private String departureDate;
        @JsonProperty("return_at")
        private String returnDate;
        @JsonProperty("expires_at")
        private String expirationDate;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多