Spring后端返回JSON串格式数据后出现大量反斜杠(“/“) 解决方案
·
当我们返回从数据库拿取JSON的字段时遇见"[\"A\", \"B\", \"C\", \"D\"]"形式时
根本原因是:
字段被当作字符串类型处理,而非 JSON 数组类型。当序列化为 JSON 响应时,字符串中的双引号会被自动转义(添加\),最终呈现出带转义符的字符串包裹数组的格式。
==========开始教学==========
解决方法:
一、:将数据库JSON字段映射实体类的对应字段String类型改为Object
二、:操作Impl层对JSON串数据进行处理
1.对JSON串进行转字符串处理
2.对字符串进行转JSONArray格式处理
三、:返回结果展示/对比
//处理前
"[\"爱国\", \"创业\", \"求实\", \"奉献\"]"
//处理后
"["爱国", "创业", "求实", "奉献"]"
//修改前实体类定义
private String optionsList
//修改后实体类定义
private Object optionsList
===========================
//修改前impl层定义
return xxx;
//修改后impl层定义
//1.对拿取到的数据库JSON串进行转字符串
String oldJsonString = question.getOptionsList().toString();
//2.对处理后的字符串转JSONArray格式
JSONArray newJsonArray = JSON.parseArray(oldJsonString);
//重新封装数据
question.setOptionsList(newJsonArray);
希望能对你解决问题有所帮助!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)