Java - 无法使用 Spring getForObject() 将 JSON 数组映射到对象
Java - unable to map JSON array to object with Spring getForObject()
我必须使用 API RESTful 网络服务。目前我必须处理一个 JSON 对象,它看起来像:
{
"success":true,
"error":"",
"message":"",
"data":[
["USD","US Dollar","11,696", "connected"],
["EUR","Euro","10,733","connected"]
]
}
这是我通常用来保存此 Web 服务的大多数端点的 class:
public class Response {
public boolean success;
private String error;
private String message;
private List<Map<Integer, Array>> data;
public String getError() {
return this.error;
}
public String getMessage() {
return this.message;
}
public Map<Integer,Array> getData() {
return this.data.get(0);
}
}
当 运行 时,应用崩溃:
Could not read JSON: Can not deserialize instance of java.util.LinkedHashMap
out of START_ARRAY token
我们需要将 'data' 的类型从
更改为
List<Map<Integer, Array>>
至
List<List<String>>
我最终发现我需要的只是:
private List<ArrayList<String>> data;
工作得很好。
我必须使用 API RESTful 网络服务。目前我必须处理一个 JSON 对象,它看起来像:
{
"success":true,
"error":"",
"message":"",
"data":[
["USD","US Dollar","11,696", "connected"],
["EUR","Euro","10,733","connected"]
]
}
这是我通常用来保存此 Web 服务的大多数端点的 class:
public class Response {
public boolean success;
private String error;
private String message;
private List<Map<Integer, Array>> data;
public String getError() {
return this.error;
}
public String getMessage() {
return this.message;
}
public Map<Integer,Array> getData() {
return this.data.get(0);
}
}
当 运行 时,应用崩溃:
Could not read JSON: Can not deserialize instance of java.util.LinkedHashMap
out of START_ARRAY token
我们需要将 'data' 的类型从
更改为List<Map<Integer, Array>>
至
List<List<String>>
我最终发现我需要的只是:
private List<ArrayList<String>> data;
工作得很好。