Java 为什么转换为JSON时会转义相关实体?

Java 为什么转换为JSON时会转义相关实体?,java,json,spring,hibernate,jpa,Java,Json,Spring,Hibernate,Jpa,我有一个SpringMVC控制器,它通过查询获取一些实体。这些实体有一个相关的实体,它是急切地获取的。但是,当我使用JSONObject.toString()时,它会转义相关的模型数据: { “totalRecords”:29, “hasErrors”:错误, “数据”:{ “regs”:[ { “是否处于活动状态”:1, “名称”:“NAR”, “修改”:“09/14/2020 08:46 AM”, “language”:“{\“name\”:“English\”,“id\”:1,“short

我有一个SpringMVC控制器,它通过查询获取一些实体。这些实体有一个相关的实体,它是
急切地
获取的。但是,当我使用
JSONObject.toString()
时,它会转义相关的模型数据:

{
“totalRecords”:29,
“hasErrors”:错误,
“数据”:{
“regs”:[
{
“是否处于活动状态”:1,
“名称”:“NAR”,
“修改”:“09/14/2020 08:46 AM”,

“language”:“{\“name\”:“English\”,“id\”:1,“shortcode\”:“en\”}”,这是由于序列化而发生的,为了正确解析消息,有一些字符被替换:

退格被替换为\b, 表单馈送被替换为\f, 换行符被替换为\n, 回车符被替换为\r, 选项卡被替换为\t, 双引号替换为“, 反斜杠替换为\


您可以使用Apache Commons lang中的StringEscapeUtils.unescapeJava(stringToUnEscape),以便在解析后删除这些转义。

您是否尝试过:jsonRegion.put(“语言”,新的JSONObject(region.getLanguage())?getLanguage()方法返回什么?它是常规的getter还是有更多的getter?