记录一次数据中包含转义字符\引发的bug

后端返回给前端的数据是:

{

"bizObj": {

"current": 1,

"orders": [

],

"pages": 2,

"records": [

{

"from": "1d85b8a4bd33aaf99adc2e71ef02960e",

"fromName": "ddd",

"id": "742836e8f3d00a6e2ebd568f3a2dd75e",

"img": "/net-hospital-admin/images/boy.png",

"msgTime": "2024-01-10 17:04:04",

"msgType": "10",

"text": "{\"medicalRecordId\":\"59a2827da4a54d5ba0eea13ad725eef4\",\"recordNum\":\"2024010215321313590002\",\"topicId\":\"01b79d7931d34a9c8d5a5f3e36681137\",\"createTime\":\"2024-01-02 15:32:13\",\"handlingOpinion\":\"null\",\"diagnosis\":\"人类免疫缺陷病毒\\HIV\\\\病造成的其他传染病和寄生虫病\",\"mainStatement\":\"ing倪敏破狗肉\",\"name\":\"asdfafd\",\"doctorName\":\"asdfads\",\"orgName\":\"asdfsaf\"}",

"type": "0"

}

],

"searchCount": true,

"size": 8,

"total": 14

},

"retCode": "0000",

"retMsg": "处理成功",

"timestamp": "1704878596839"

}

其中 text的内容{\"medicalRecordId\":\"59a2827da4a54d5ba0eea13ad725eef4\",\"recordNum\":\"2024010215321313590002\",\"topicId\":\"01b79d7931d34a9c8d5a5f3e36681137\",\"createTime\":\"2024-01-02 15:32:13\",\"handlingOpinion\":\"null\",\"diagnosis\":\"人类免疫缺陷病毒\\HIV\\\\病造成的其他传染病和寄生虫病\",\"mainStatement\":\"ing倪敏破狗肉\",\"name\":\"asdfasd\",\"doctorName\":\"asdfdsa\",\"orgName\":\"asdfdas\"}

需要转成对象来用 这里转不了 是因为diagnosis的数据中\\HIV\\\\ 有转义字符造成的

原始数据是带有一个转义字符 \HIV\\ 返回给前端是\\HIV\\\\

转换不了的原因是因为text的内容是自己拼接的json字符串

也就是把这个内容 \HIV\\ 直接拼到json字符串中,这个是错误的,因为实际上真正变成json字符串是要变成 \\HIV\\\\ 多一个转义字符

最后返回给前端的时候应该是要变成 \\\\HIV\\\\\\\\

{\"medicalRecordId\":\"59a2827da4a54d5ba0eea13ad725eef4\",\"recordNum\":\"2024010215321313590002\",\"topicId\":\"01b79d7931d34a9c8d5a5f3e36681137\",\"createTime\":\"2024-01-02 15:32:13\",\"handlingOpinion\":\"null\",\"diagnosis\":\"人类免疫缺陷病毒\\\\HIV\\\\\\\\病造成的其他传染病和寄生虫病\",\"mainStatement\":\"ing倪敏破狗肉\",\"name\":\"asdfsdf\",\"doctorName\":\"asdfdsaf\",\"orgName\":\"asdfdas\"} 这样才是正确的

原始拼接json字符串的方式 手动拼接

正确方式

用map去封装对象 然后转成json字符串

相关推荐
T01156181 小时前
艺培场馆课时预约小程序用户端 & 后台联动踩坑上篇(预约、课时、缓存、消息、学员端自身问题)
java·缓存·小程序·bug·全栈项目实战手记·艺培课时系统‘’
zone_z2 小时前
07 · 等待事件与 OWI 方法:从 OSW 到 BUG 的完整破案实录
linux·数据库·oracle·ffmpeg·bug·troubleshooting
黑猫学长呀1 天前
【驱动开发常见问题】编译出现rm: cannot remove `asm/arch‘: Is a directory
驱动开发·单片机·嵌入式硬件·bug·编译报错·kernrl
姚青&2 天前
测试流程搭建
测试用例·bug·jira
mmsx2 天前
return false 不是拦截:一次按键触发两个动作的事件冒泡陷阱
android·bug
随风丶飘3 天前
[特殊字符] 告别“update“和“fix bug“——Smart Git Commit LLM 让 AI 帮你写专业的 Git 提交信息
人工智能·git·bug
czhc11400756633 天前
崩溃复查与“回声“bug:异常码判案、漏网之鱼和耳塞开关
bug
mmsx4 天前
我明明调用了 zoomToBounds,地图却总是停在别处?延迟加到 5 秒也没用,真相只有一个
android·人工智能·bug·地图
mmsx4 天前
置灰按钮为什么自己又“亮“了?一次状态缓存“双写冲突“的排查记录
java·缓存·bug·livedata
MartinYeung55 天前
[bug 分析] Orchard 伪造漏洞: 深度代码剖析
安全·区块链·bug