记录一次数据中包含转义字符\引发的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字符串

相关推荐
ะัี潪ิื11 小时前
Redisson Bug回顾
bug
猫咪很可爱2 天前
MySQL 5.7 备份恢复后函数与存储过程丢失:原因分析与正确备份姿势
数据库·mysql·bug·shell
李永奉2 天前
杰理可视化SDK开发-【BUG】AC7006F8芯片开启一拖二和双麦DNS通话算法后,大概率通话时蓝牙自动断连,RAM空间爆了问题处理
单片机·嵌入式硬件·mcu·物联网·电脑·bug
8年车载测试4 天前
车载测试中如何通过 Jira 平台提交 Bug:操作步骤与关键要点
bug·jira·uds诊断·hil测试·uds自动化测试·ecu刷写测试·canoe工具
硅基手札5 天前
SPI技术系列 13 · SPI 调试与排查
linux·运维·stm32·单片机·嵌入式硬件·bug
李永奉5 天前
杰理可视化SDK开发-【BUG】AC7006F8芯片开启一拖二和双麦通话语音算法后,设置触摸音在唤醒语音助手和通话时触摸音没作用问题
单片机·嵌入式硬件·mcu·物联网·电脑·bug
kyle~7 天前
机器人通信 --- FANUC TCP 并发请求-响应错位 Bug 复盘
tcp/ip·机器人·bug
鬼手点金9 天前
Harness 工程:模型之外的竞争力
服务器·人工智能·深度学习·机器学习·bug
巴巴媛66610 天前
【Debug1】程序死机,while(1)循环,怎么办?
c语言·笔记·stm32·嵌入式硬件·bug
JosieBook12 天前
【多线程】两台机器同时抢一个字典:一次并发 Bug 的排查
java·网络·bug