Java Can';t在REST请求后将json反序列化为对象映射
我得到了服务器响应我的json:Java Can';t在REST请求后将json反序列化为对象映射,java,json,rest,Java,Json,Rest,我得到了服务器响应我的json: { "clients": { "0": { "id": 12370691, "fio": "" }, "2": { "id": 12384782, "fio": "name2" }, "3": { "id": 12389624,
{
"clients": {
"0": {
"id": 12370691,
"fio": ""
},
"2": {
"id": 12384782,
"fio": "name2"
},
"3": {
"id": 12389624,
"fio": "Name3"
}
}
}
由于jsons,我得到了POJO
第一个Pojo包含对象的映射
@Data
public class GetClientsResponse {
@JsonProperty("clients")
Map<String, ClientResponse> clientMap;
public List<ClientResponse> getListOfValues() {
if (Objects.nonNull(this.clientMap)) {
return this.clientMap.entrySet()
.stream()
.map(entry -> entry.getValue())
.collect(Collectors.toList());
}
return Collections.emptyList();
}
}
我还有下一个错误:
出现意外错误(类型=错误请求,状态=400)。JSON
分析错误:无法反序列化java.util.LinkedHashMap的实例
启动外\u数组令牌;嵌套异常是
com.fasterxml.jackson.databind.JsonMappingException:无法
从START\u数组反序列化java.util.LinkedHashMap的实例
令牌位于[源代码:java.io]。PushbackInputStream@2a8f551b;行:1,
列:12](通过参考链:
com.lineup.flatsender.model.dto.response.avers.getclinets.GetClientsResponse[“客户端”])
大宗报价
有人能解释一下问题是什么吗?因为它在一个月前起作用了,我没有任何问题。
我正在使用import org.springframework.web.client.rest操作 最近服务有变化吗?响应表明服务器无法理解您的请求
你能把你得到的实际的JSON发出去吗?该错误表明您正在使用JSON数组返回一些内容,但您发布的内容没有显示数组
对象{}
,而它在响应中找到了一个数组{}
因此,可能来自webservice的响应已更改,并且您的客户端数据现在以数组而不是对象的形式返回。请发布答案被否决的原因,以便我可以对其进行改进。
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class ClientResponse {
@JsonProperty("id")
private int clientId;
@JsonProperty("fio")
private String fullName;
}