首页 > 解决方案 > Jacksonparser 解析器问题:无法从 START_OBJECT 令牌中反序列化 java.lang.String 的实例

问题描述

从客户端,我正在调用 REST 服务。执行的操作是 POST。REST 服务正在处理数据,但响应未在客户端应用程序中正确转换。

ParameterizedTypeReference<List<String>> response = new ParameterizedTypeReference<List<String>>() {};
                    ResponseEntity<List<String>> responseEntity = atomRestTemplate.exchange(uri, HttpMethod.POST, request, response);
                    warningMessages = responseEntity.getBody();

我收到以下错误。

原因:org.springframework.http.converter.HttpMessageNotReadableException:无法读取 JSON:无法从 [Source: (PushbackInputStream); 的 START_OBJECT 令牌中反序列化 java.lang.String 的实例;行:1,列:2](通过引用链:java.util.ArrayList[0]);嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize java.lang.String 实例 out of START_OBJECT token at [Source: (PushbackInputStream); 行:1,列:2](通过引用链:java.util.ArrayList[0])在 org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:208) ~[spring-web-4.1 .6.RELEASE.jar:4.1.6.RELEASE]

响应示例 JSON - 字符串列表

[“警告消息 1”,“警告消息 2”]

该服务可以返回空列表作为响应。这会造成问题吗?

标签: javaspringparsingjackson

解决方案


推荐阅读