JSON.stringify(data)问题,为什么序列化后出现多的\\情况,怎么办

每次stringify都会出现\\的情况,但是又很难控制,相互传递数据的时候还是有这个\\的问题,有的时候是必须有\\才能进行数据交互,就很烦,谁能帮忙解释一下,如何前后端对接数据更为合适?

json
api
webapi
harmony
2025-03-26 16:32:49
984浏览
收藏 0
回答 1
已解决
回答 1
按赞同
/
按时间
鸿蒙Flutter开发

双引号需要反序列化

  1. JSON标准要求某些特殊字符(如​​"​​、​​\​​等)必须被转义。例如,字符串中的单反斜杠​​\​​在序列化时会自动转换为双反斜杠​​\\​​,以确保JSON格式的合法性。 \
  • **示例**:前端发送​​{ "path": "C:\test" }​​,序列化后变为​​{ "path": "C:\\test" }​​,后端解析时需还原为单反斜杠。
    \
  1. **前后端处理逻辑不一致** \
  • 前端可能多次转义(如手动拼接字符串时重复添加转义符);\
  • 后端未使用标准JSON解析库,导致转义符未被正确处理。
    \
  1. **编码与传输过程中的干扰**
    若数据中包含二进制内容(如图片Base64编码),可能因编码方式不统一(如UTF-8与其他编码混用)引发额外转义。
分享
微博
QQ
微信
回复
2025-03-26 17:24:27


相关问题
HarmonyOS JSON.stringify一个hasmap问题
712浏览 • 1回复 待解决
HarmonyOS http请求,json序列化
998浏览 • 1回复 待解决
HarmonyOS 遇到JSON.stringify crash
996浏览 • 1回复 待解决
HarmonyOS Map 序列化问题
921浏览 • 1回复 待解决
HarmonyOS JSONmap结构如何序列化
1498浏览 • 1回复 待解决
JSON序列化,如何重命名字段?
1074浏览 • 1回复 待解决
多个模块依赖出现冲突,怎么办
1153浏览 • 1回复 待解决
求大佬告知如何序列化对象
1823浏览 • 1回复 待解决