Spring restTemplate获取原始的json字符串

sur*_*ahl 19 java spring json spring-mvc spring-rest

如何从spring rest模板中获取原始json字符串?我试过跟随代码,但它返回我没有引号的json导致其他问题,我怎么能得到json原样.

ResponseEntity<Object> response  = restTemplate.getForEntity(url, Object.class);
String json = response.getBody().toString();
Run Code Online (Sandbox Code Playgroud)

mad*_*ead 33

你甚至不需要ResponseEntitys!只要使用getForObjectString.class,如:

final RestTemplate restTemplate = new RestTemplate();
final String response = restTemplate.getForObject("https://httpbin.org/ip", String.class);

System.out.println(response);
Run Code Online (Sandbox Code Playgroud)

它将打印如下:

{
  "origin": "1.2.3.4"
}
Run Code Online (Sandbox Code Playgroud)

  • 当服务器发送“application/json”作为内容类型时,这不会发生“无法从 START_ARRAY 令牌中反序列化 java.lang.String 的实例”,如果正文仅包含 json 字符串,它只会给您一个字符串 (3认同)