当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/281616.html

相关文章:

  • 网络协议:ICMP协议及实用工具介绍
  • Hyper-V如何设置网络-虚拟交换机设置
  • SAP不同语言开发
  • 瑞_Java开发手册_(一)编程规约
  • 【JVM】本地方法接口 Native Interface
  • JS 本地存储 sessionStorage localStorage
  • K8S 存储卷
  • 一个SqlSugar实际案例
  • 【RT-DETR有效改进】ShapeIoU、InnerShapeIoU关注边界框本身的IoU(包含二次创新)
  • 从理论到实践:数字孪生技术的全面应用探讨
  • 2.1.2 一个关于y=ax+b的故事
  • Rust-解引用
  • 记录一下vue项目引入百度地图
  • 基于Docker官方php:7.4.33-fpm镜像构建支持67个常见模组的php7.4.33镜像
  • opencv通过轮廓点生成闭合图像
  • Python 网络编程之TCP详细讲解
  • 直饮水系统服务认证:提升水质与安全的必要举
  • Qt 调试系统输出报警声以及添加资源
  • Linux下文件的创建写入读取编程
  • python 解析
  • 谷歌aab包在Android 14闪退而apk没问题(targetsdk 34)
  • 34.在排序数组中查找元素的第一个和最后一个位置
  • js树过滤
  • Java多线程并发篇----第十六篇
  • 测评结果:免费的“文心一言3.5”香,但是付费的产品质量更高
  • Matlab GUI设计基础范例(可以一步一步跟着做)
  • @Transactional(rollbackFor = {Exception.class})与 @Transactional区别
  • 数据结构——二叉树(先序、中序、后序及层次四种遍历(C语言版))超详细~ (✧∇✧) Q_Q
  • 如何快速打造属于自己的接口自动化测试框架
  • 人工智能在数据安全中的应用场景