Spring Android REST模板使用内容类型text / html解析JSON数据

时间:2014-03-11 14:53:57

标签: android jackson spring-android

我正在使用android spring REST模板从外部API中提取一些数据。 那些API返回JSON字符串但响应内容类型是“text / html”,如果内容类型是“application / json”,我可以轻松地解析数据而没有任何问题,因为这些API是第三方API我无法更改内容类型的回应。

我正在使用     “MappingJacksonHttpMessageConverter”  class作为消息转换器。

当我尝试解析数据时,我遇到了异常。

org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type .... and content type [text/html;charset=utf-8]

是否有任何配置,参数或其他可以解析这些JSON数据的内容?

1 个答案:

答案 0 :(得分:11)

默认情况下,MappingJacksonHttpMessageConverter仅支持application/json媒体类型。但是,您可以轻松配置它以支持其他媒体类型:

MappingJacksonHttpMessageConverter converter = new MappingJacksonHttpMessageConverter();
converter.setSupportedMediaTypes(Collections.singletonList(MediaType.TEXT_HTML));

现在,当您收到回复时,RestTemplate应该将MappingJacksonHttpMessageConverter标识为能够解析回复。