java - 无法从数组值反序列化类型为“Covid”的值(令牌“JsonToken.START_ARRAY”)
问题描述
主要方法
public static void apiRequest(String country){
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://covid-19-data.p.rapidapi.com/report/country/name?date=2020-04-01&name="+country))
.header("x-rapidapi-host", "covid-19-data.p.rapidapi.com")
.header("x-rapidapi-key", "e7d0ae3dfcmshb4765a4bcd9edc9p198994jsn1a1b1d5fa50d")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = null;
try {
response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(response.body());
ObjectMapper oM = new ObjectMapper();
oM.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
try {
Covid covid = oM.readValue(response.body(), Covid.class);
System.out.println(covid);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
这里是整个响应字符串: [{"country":"Austria","provinces":[{"province":"Austria","confirmed":10711,"recovered":1436,"deaths":146,"active ":9129}],"纬度":47.516231,"经度":14.550072,"日期":"2020-04-01"}]
我只想要 Covid 类的某些值
Covid类
public class Covid {
String province;
int active;
public Covid(String province, int active) {
this.province = province;
this.active = active;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public int getActive() {
return active;
}
public void setActive(int active) {
this.active = active;
}
}
我的错误:com.fasterxml.jackson.databind.exc.MismatchedInputException:无法Covid
从数组值(令牌JsonToken.START_ARRAY
)反序列化类型值
请帮我
解决方案
API 结果是一个数组,您正在尝试读取单个对象值。调用时确保读取集合或数组oM.readValue
推荐阅读
- angular - Angular:在循环中执行http请求
- java - 出现错误 :: 此表达式的目标类型必须是函数式接口
- python - 为什么 python 程序没有创建任何像素?
- julia - 在 WSL 上向 Julia 添加包
- amazon-s3 - 在中国托管的 S3 中上传/下载文件时出现 OptionRequestDenied 错误
- google-sheets - 有没有办法执行 VLookup 或类似的函数来返回最后一个值?
- image - Flutter 中的图像尺寸
- google-apps-script - 从另一个具有固定列和可变行的工作表中获取单元格的值
- apache-spark-sql - 使用 PySpark 展平层次结构表
- c - 如何在 C 中初始化结构?