JSON 转义字符完全指南

详细介绍JSON中所有转义字符的使用方法、规则和实际应用场景。 掌握转义字符是编写正确JSON的基础。

什么是JSON转义?

在JSON字符串中,某些特殊字符具有特殊含义(如双引号表示字符串的开始和结束)。 如果要在字符串中使用这些字符本身,就需要使用转义序列

转义序列以反斜杠(\)开头,后跟一个或多个字符。JSON解析器会将转义序列转换为实际字符。

JSON转义字符完整列表

转义序列表示字符说明示例
\\\反斜杠本身"path": "C:\\Users\\John"
\""双引号"text": "He said \"Hello\""
\n换行换行符"message": "Line1\nLine2"
\r回车回车符"text": "Hello\rWorld"
\t制表符水平制表符(Tab)"data": "Name:\tJohn"
\b退格退格符"text": "Hello\bWorld"
\f换页换页符"page": "Page1\fPage2"
\//正斜杠(可选转义)"url": "https:\/\/example.com"
\uXXXXUnicodeUnicode字符(4位十六进制)"emoji": "\u4e2d\u6587"

实际使用场景

文件路径

Windows路径中的反斜杠需要转义

{
  "path": "C:\\Users\\John\\Documents\\file.json"
}

包含引号的文本

文本中包含双引号时需要转义

{
  "quote": "He said \"JSON is awesome!\"",
  "dialog": "\"Hello,\" she said."
}

多行文本

使用转义字符表示换行

{
  "address": "Street\nCity\nCountry",
  "poem": "Roses are red\nViolets are blue"
}

URL地址

URL中的正斜杠可以转义(可选)

{
  "website": "https:\/\/json.czlazy.com",
  "api": "https:\/\/api.example.com\/v1\/users"
}

JSON字符串中的JSON

嵌套JSON需要双重转义

{
  "config": "{\"name\": \"John\", \"age\": 30}"
}

转义 vs 去转义

转义(Escape)

将JSON对象转为字符串形式,所有特殊字符都会被转义。

原始JSON
{ "name": "John" }
↓ 转义后
转义结果
"{ \"name\": \"John\" }"

去转义(Unescape)

将转义后的字符串还原为JSON对象,转义序列变回实际字符。

转义字符串
"Line1\nLine2"
↓ 去转义后
还原结果
Line1 Line2

常见问题

为什么正斜杠(/)需要转义?

正斜杠的转义是可选的。在HTML中,</script>标签可能引起问题,所以在JSON中转义正斜杠是安全的做法。 但现代JavaScript引擎和JSON解析器都能正确处理未转义的正斜杠。

如何表示Unicode字符?

使用\uXXXX格式,其中XXXX是4位十六进制数。例如:\u4e2d表示"中"字。 对于emoji等超出BMP的字符,需要使用代理对(surrogate pair)。

嵌套JSON如何转义?

当JSON字符串中包含另一个JSON时,需要双重转义。例如:{"name}":"John}中的引号, 在外层JSON中需要写成\\",结果就是\\"name\\"。

使用我们的转义工具

我们的工具可以自动处理JSON的转义和去转义,无需手动编写转义序列。 粘贴JSON,选择转义或去转义,即可获得结果。

打开工具