我正在利用Spring提供的这个很酷的东西:Spring RESTWebService(Spring的版本是3)。如果我从浏览器访问URL,我可以看到JSON响应,但是从客户端endpoint(Android应用程序)III收到这个错误消息:
Caused by: org.springframework.web.client.ResourceAccessException:
I/O error: Can not deserialize instance of MyObject out of START_ARRAY token
at [Source: org.apache.http.conn.EofSensorInputStream@4076e940; line: 1,
column: 1]; nested exception is org.codehaus.jackson.map.JsonMappingException:
Can not deserialize instance of MyObject out of START_ARRAY token
at [Source: org.apache.http.conn.EofSensorInputStream@4076e940; line: 1, column: 1]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:466)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:414)
at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:234)
at com.be.android.locateconsultants.resources.AsyncTaskRESTServiceCaller.doInBackground(AsyncTaskRESTServiceCaller.java:43)
at com.be.android.locateconsultants.resources.AsyncTaskRESTServiceCaller.doInBackground(AsyncTaskRESTServiceCaller.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:252)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
... 4 more
Caused by: org.codehaus.jackson.map.JsonMappingException: Can not deserialize
instance of MyObject out of START_ARRAY token
at [Source: org.apache.http.conn.EofSensorInputStream@4076e940; line: 1, column: 1]
at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:198)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeUsingCreator(BeanDeserializer.java:565)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:365)
at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2395)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1655)
at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.readInternal(MappingJacksonHttpMessageConverter.java:135)
at org.springframework.http.converter.AbstractHttpMessageConverter.read(AbstractHttpMessageConverter.java:154)
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:74)
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:632)
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:618)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:459)
... 10 more
MyObject结构与服务器端应用程序的结构相同。
final String url = ".....";
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<Consultant> responseEntity = restTemplate.getForEntity(
url, Consultant.class);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<String>(headers);
ResponseEntity<MyObject> response = restTemplate
.exchange("....",HttpMethod.GET, entity, MyObject.class);
System.out.println("RESPONSE: " + response.getBody());
您应该将其映射到列表
而不是consultant.class
。
下面是POJO类: 主要功能如下:
当我试图解析以前用Jackson生成的一些JSON时,我得到了这个错误。我像这样生成JSON 其中Message.getPayload()是一个HashMap,在这个实例中包含两个字符串和一个各种对象的列表。这将创建以下格式错误的JSON
我需要向网络服务发送帖子请求,但它在异常后返回。 实际服务器响应如下: 我根据以下内容发送请求 我的代码
问题内容: 我目前无法在android上连接到我的网络服务。我使用jackson-core / databind / annotation-2.2.4和Spring RESTWebService。如果我从浏览器访问URL,则可以看到JSON响应:(服务器返回List \ Shop \看起来像:) 从客户端端点(Android应用程序),我收到此错误消息: 我的服务器要求 ShopContainer
我尝试使用jacksonapi解析json,并提供以下详细信息。但我错了。请查找以下代码和堆栈跟踪的详细信息。 JSON 控制器类 下面这个类是我的bean类。PublisheData.java 发布数据列表.java 我收到以下错误。
商店、地址和鞋的结构是:(我省略了getters和setters): 我已经在这里和谷歌上看过了,但仍然不知道我在这一点上错过了什么。 任何回应都将大有帮助。