android - Spring Android REST 模板解析内容类型为 text/html 的 JSON 数据

标签 android jackson spring-android

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

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

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

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 数据?

最佳答案

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

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

现在当您收到响应时,RestTemplate 应该将 MappingJacksonHttpMessageConverter 识别为能够解析它。

关于android - Spring Android REST 模板解析内容类型为 text/html 的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22329368/

相关文章:

android - Volley POST 请求,400 错误

java - Spring-boot用jackson改变json响应结构

java - 如何使用 Jackson 基于注释从对象中(反)序列化字段?

android - Robospice loadDataFromNetwork() 不工作

android - 使用 spring android 处理 401 错误的最佳方法

Android Gradle 在 APK META-INF/license.txt 中复制的重复文件

android: 历史编辑文本

android - 运行 Android Studio IDE 时出错

java - 并行列表与具有多个变量的类列表

java - 使用 JSON 时,我们可以将对象作为 map 中的键吗?