如何从响应实体获取正文

vik*_*kas 5 java spring spring-mvc spring-boot

这是我的

ResponseEntity<String> response= new ResponseEntity<String> (
"\"<200 OK OK,{\\\"status\\\":200,\\\"success\\\":true,\\\"info\\\":{\\\"mid\\\":{\\\"id\\\":\\\"95706\\\"}}},[]>\"", HttpStatus.OK);
Run Code Online (Sandbox Code Playgroud)

如何从这个响应中提取json?

尝试过response.getBody()但给了我整个字符串。

任何帮助,将不胜感激

response.getBody() but giving me entire string.
ResponseEntity<String> response= new ResponseEntity<String> (
"\"<200 OK OK,{\\\"status\\\":200,\\\"success\\\":true,\\\"info\\\":{\\\"mid\\\":{\\\"id\\\":\\\"95706\\\"}}},[]>\"", HttpStatus.OK);
Run Code Online (Sandbox Code Playgroud)

响应.getBody(); 给出整个字符串而不是 json

Bro*_*her 2

您可以使用以下方法来实现:

ResponseEntity<String> response= new ResponseEntity<String> ("\"<200 OK OK,{\\\"status\\\":200,\\\"success\\\":true,\\\"info\\\":{\\\"mid\\\":\\\"id\\\":\\\"95706\\\"}}},[]>\"", HttpStatus.OK);


String responseStr = response.getBody();
int begin = responseStr.indexOf("{");
int end = responseStr.lastIndexOf("}") + 1;

responseStr = responseStr.substring(begin, end);
System.out.println(responseStr);
Run Code Online (Sandbox Code Playgroud)

它将打印:

{\"status\":200,\"success\":true,\"info\":{\"mid\":{\"id\":\"95706\"}}}
Run Code Online (Sandbox Code Playgroud)