1

我想使用 RestTemplate 从服务器获取响应并在我的 Android 应用程序中处理该响应,但服务器在 json 正文中使用前缀(或变量)回答,因此响应看起来类似于:

response={"foo":"bar"}

是否可以以简单的方式省略“response =”部分,还是我需要重新实现 MappingJacksonHttpMessageConverter 类?

提前致谢

编辑:现在可以使用,以下代码基于最新的 SpringAndroid (1.0.0 RELEASE)。RestTEplate(true) 构造函数添加了所需的转换器,request.toMap() 构建了一个 MultiValueMap,它只有 FormHttpMessageConverter 接受的主体类型。

HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setContentType(new MediaType("application", "x-www-form-urlencoded"));

RestTemplate restTemplate = new RestTemplate(true);
restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());

final String url = "http://www.dummy.org/herp/getDerp";
String result = restTemplate.postForObject(url, request.toMap(), String.class);

现在我有输出字符串,我可以从中提取 JSON 并解析它。

4

0 回答 0