第 7 课
字符串转义与 Unicode
JSON 字符串中的转义序列、Unicode 码点与特殊字符。
JSON 字符串始终由双引号包裹。任何会破坏字符串或产生歧义的字符,都必须用反斜杠 转义。
常见转义序列
| 序列 | 含义 |
|---|---|
\" | 字符串内的双引号 |
\\ | 字面量反斜杠 |
\n | 换行 |
\t | 制表符 |
\r | 回车 |
\b | 退格 |
\f | 换页 |
示例:
{
"message": "第一行\n第二行",
"path": "C:\\Users\\dev\\config.json"
}
Unicode 转义
用 \uXXXX 表示四个十六进制位组成的 Unicode 码点:
{
"greeting": "Hello, \u4e16\u754c"
}
超出基本多文种平面的字符在 JSON 中可能以一对 UTF-16 \u 转义出现;读写 UTF-8 文件时,多数解析器会正确处理。
不能原样出现的字符
控制字符(U+0000–U+001F)必须转义。字符串内 未转义的换行 属于无效 JSON——应使用 \n。
UTF-8 文件与转义形式
保存为 UTF-8 的 .json 可直接包含中文或 emoji:
{ "label": "世界" }
这是合法 JSON。\u 转义与 UTF-8 字面量在语义上等价——按团队工具链与 diff 习惯选择即可。
实践建议
- 从日志复制字符串时注意智能引号
"",它们不是合法定界符。 - API 文档常用
\n展示换行;解析后在内存中会变为真实换行符。 - 长字符串校验失败时,重点检查未转义的
\或残缺的\u序列。