阅读口径
本文保留原字符串;操作在副本上进行,候选结果需由来源证据核对。
源码表示和字符串值
JSON 字符串可包含 Unicode 转义。例如大写 A 可以直接写为 A,也可使用反斜杠 u0041 表示;两者解析后值相同。转义形式不是自动判错依据。
规范参考:RFC 8259:JSON 字符与编码。操作场景与排查建议为本站说明。
补充平面字符的表示
JSON 的转义语法用两个 UTF-16 代理项表示某些补充平面字符。检查是否被截断或重复转义;如果界面直接显示反斜杠与 u,可能是值里多了一层转义,需确认序列化次数。
规范参考:RFC 8259:JSON 字符与编码。操作场景与排查建议为本站说明。
网络交换保持 UTF-8
RFC 8259 要求非封闭生态系统之间交换的 JSON 使用 UTF-8。接收端完成一次 JSON 解析后,把实际字符串码点与发送前比较,而非比较两份文本的排版。
可执行检查单
- 01保存不含隐私的请求与响应样本。
- 02用 JSON 解析器解析一次。
- 03比较字符串值,并追踪重复序列化位置。
一个常见问题
去掉所有反斜杠能解决问题吗?
不能。反斜杠也负责引号和换行的合法转义;手动删除会破坏 JSON 或改变内容。
本页结论
先区分传输格式、转义层数与解析后的值,再处理编码。