首页 > 解决方案 > 无法反序列化对 POJO 类的 HTTP 响应。抛出 START_ARRAY 令牌

问题描述

我有一个 api 调用,它将响应如下。现在我想反序列化为 pojo 类。任何建议表示赞赏。

回复:

[
  {
    "id": 470,
    "shipmentId": "1497",
  },
  {
    "id": 471,
    "shipmentId": "1498",
  }
]

我的名为 TripHandlerShipmentsResponse.java 的 Pojo 类如下所示。

@Data
public class TripHandlerShipmentsResponse {

  private List<Object> response;

}

现在在这里我试图反序列化响应

return httpResponse.deserialize(TripHandlerShipmentsResponse.class);

但是我遇到了错误。

Cannot deserialize instance of `Mypackage.TripHandlerShipmentsResponse` out of START_ARRAY token at [Source: (String)"[{"id":470, .............

标签: javaserializationhttpresponsepojorest-assured

解决方案


你的反应模型是错误的。创建具有相同 json 响应骨架的模型。

您必须在映射器中将类型作为数组或列表传递


推荐阅读