从Spring Boot RestController返回内部json字符串
我有一个SpringBootRestController,它应该返回json(按原样存储在DB列中,并检索到String对象中)。我把它分解成几个片段从Spring Boot RestController返回内部json字符串,json,spring-boot,Json,Spring Boot,我有一个SpringBootRestController,它应该返回json(按原样存储在DB列中,并检索到String对象中)。我把它分解成几个片段 @RestController public class MyController { ..... @RequestMapping(value = "/restAPI/v2/get/mytest",...produces = MediaType.APPLICATION_JSON_VALUE) public
@RestController
public class MyController {
.....
@RequestMapping(value = "/restAPI/v2/get/mytest",...produces = MediaType.APPLICATION_JSON_VALUE)
public RespBean fetchList(HttpServletRequest httpRequest,..) {
...
String abc = userData.getJson(); //Json string
System.out.print(abc); // gives {"name":"test", "desc": "My desc" }
respBean.setData(abc)
return respBean;
}
}
而响应bean是
public class RespBean {
private String httpStatus, appCode;
private Object data;
//getters, setters ...
}
现在的问题是,当我在PostMan中检查响应时,数据字段会得到一个json转义字符串,而不是json“object”,如
{
“httpStatus”:“200”,
“应用程序代码”:“21”,
“数据:“{\'name\':\'test\',\'desc\':\'My desc\'”
}
我可以告诉RestController不要转义RespBean中的数据字段,并将其作为json对象返回吗?有其他解决办法吗?我试图不改变RespBean的结构(它在许多地方使用),同时保持状态/代码/数据结构不变
谢谢您的关注。您可以使用
@JsonRawValue
进行查看
public class RespBean {
private String httpStatus, appCode;
@JsonRawValue
private Object data;
//getters, setters ...
}
你能得到普通的用户数据而不是它的
json
格式吗?数据以json blob的形式存储在数据库中。要以非json形式获取它,我必须创建一个新的POJO并将json转换为该对象,只有框架将其转换回json。