gpt4 book ai didi

Java Spring JSON解析错误: Cannot deserialize instance out of START_ARRAY token

转载 作者:行者123 更新时间:2023-12-02 10:33:12 31 4
gpt4 key购买 nike

我有一个带有restTemplate调用的方法,如下所示:

restTemplate.getForObject(apiUrl ,Someclass.class);

Someclass.class:

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Imp implements Serializable {
@JsonProperty("Id")
private String Id;

@JsonProperty("ReportId")
private String ReportId;

@JsonProperty("Title")
private String Title;

@JsonProperty("Name")
private String Name;

@JsonProperty("Uri")
private String Uri;

}

API 返回一个数组,我收到的错误是:org.springframework.web.client.RestClientException:提取类型 [class ...] 和内容类型 [application/json;charset=utf-8] 的响应时出错;嵌套异常是 org.springframework.http.converter.HttpMessageNotReadableException:JSON 解析错误:无法从 START_ARRAY token 中反序列化 com... 实例;嵌套异常为 com.fasterxml.jackson.databind.exc.MismatchedInputException:无法从 START_ARRAY token 中反序列化 com... 的实例

我应该使用哪种restTempalte方法来获得正确的api响应?或者问题出在哪里?谢谢!

最佳答案

您说 API 返回一个数组。

但是你的代码行 restTemplate.getForObject(apiUrl ,Someclass.class);仅适用于单个 Someclass 对象。

您应该使用新的 ParameterizedTypeReference<List<Someclass.class>>以及兑换方法。

引用以下链接

Get list of JSON objects with Spring RestTemplate

关于Java Spring JSON解析错误: Cannot deserialize instance out of START_ARRAY token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53484435/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com