JSON转义
JSON 字符串转义/反转义。
这个工具能做什么
JSON转义这个工具做的事情很直接:把任意一段文本转成能直接嵌进 JSON 里的字符串字面量,或者把已经转义过的字符串还原回原文。日常开发中,你经常需要把一段带双引号、换行、制表符或反斜杠的文本放进 JSON 的某个字段,比如把一段 SQL、HTML 片段或多行日志作为参数传给接口,手动去数哪里该加反斜杠既费劲又容易出错。反过来,当你在日志或接口返回里看到一串塞满 \n、\" 和 \uXXXX 的字符串时,也需要快速把它还原成人能读的原文。这个工具就是把这两个方向的活儿自动化:转义时负责把非法字符替换成合法的转义序列,反转义时再把转义序列解回原始字符。
它遵循的是 JSON 字符串的转义规则(RFC 8259 / ECMA-404)。按规范,JSON 字符串里必须转义的只有三类:双引号 " 转成 \"、反斜杠 \ 转成 \\,以及所有 U+0000 到 U+001F 的控制字符。其中换行、回车、制表符、退格、换页有专门的短转义 \n、\r、\t、\b、\f,其余控制字符统一写成 \u 加四位十六进制。对于中文、emoji 这类非 ASCII 字符,规范允许直接以 UTF-8 原样保留,也允许写成 \uXXXX;超出基本多文种平面的字符(比如部分 emoji)则用两个 \u 组成的代理对来表示。整个过程在效果上等价于 JavaScript 的 JSON.stringify 对单个字符串的处理,反转义则相当于 JSON.parse。
最典型的场景是手动拼接接口请求体或配置文件。比如你要把一段带双引号和换行的提示词、模板或代码片段作为某个字段的值,直接粘进 JSON 会因为引号提前闭合而解析报错;先用它转义一遍,得到 "第一行\n第二行" 这样的字面量,再贴进 body 里就不会破坏结构。另一个常见场景是排查问题:接口返回或日志里塞着一长串转义后的堆栈或 HTML,肉眼几乎看不懂,把它丢进反转义框,\n 变回真正的换行、\" 变回引号,多行内容立刻可读。写单元测试造 JSON 测试数据、往 Shell 或 YAML 里嵌一段 JSON 时,也常用它来快速处理需要转义的字符串。
有几点容易混淆。JSON转义和 Base64、URL 编码不是一回事:JSON escape 只处理 JSON 语法里非法的那几个字符,输出仍然是可读文本,不会像 Base64 那样把内容变成一长串无法辨认的编码;它也不是加密,任何人都能反转义回原文。斜杠 / 在 JSON 里其实并不强制转义,写成 \/ 和 / 都合法,不同工具的输出可能不同,属于正常现象。反转义报错时,多半是输入本身不是合法的 JSON 字符串,比如有落单的反斜杠、非法的 \x 转义、或代理对不成对。另外要把它和纯 Unicode 转义工具区分开:后者常把每个字符都写成 \uXXXX,而 JSON 转义只在必要时才这么做。
JSON转义是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“json转义”、“json字符串转义”、“json反转义”,说的都是这个。
常见使用场景
- 把带引号换行的SQL语句塞进JSON配置字段
- 手动拼接接口请求体时转义一段HTML片段
- 把日志里的转义字符串还原成可读的多行堆栈
- 造JSON单元测试数据时转义代码片段
- 反转义配置里的\uXXXX编码查看原文
使用方法
- 把内容粘贴到输入框(生成类工具直接设置选项)。
- 按需要选择选项,点操作按钮。
- 结果出现在下方,点「复制结果」即可带走。