我正在使用 Rest Template 来调用第三方 Restful API。但我得到“无法从 START_OBJECT 中序列化 java.lang.String 的实例”下面是代码:
xml file:
<!-- RESTful interaction -->
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json" />
</bean>
<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
<property name="messageConverters">
<list>
<ref bean="jsonConverter" />
</list>
</property>
</bean>
**java code:**
response= restTemplate.getForObject(url, String.class);
该 url 是 restTemplate.getForObject() 方法中的有效 URL。我验证了它在浏览器中放置了相同的 URL 并生成了有效的 JSON 对象。
以下是我得到的错误:
[5/9/13 16:25:56:352 CDT] 00000028 SystemErr R org.springframework.http.converter.HttpMessageNotReadableException:无法读取 JSON:无法从 [Source 的 START_OBJECT 令牌中反序列化 java.lang.String 的实例: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@3dd83dd8; 行:1,列:1];嵌套异常是 org.codehaus.jackson.map.JsonMappingException:无法从 [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@3dd83dd8; 的 START_OBJECT 令牌中反序列化 java.lang.String 的实例;行:1,列:1]
我究竟做错了什么?