JSON 转义 / 反转义(JSON Stringify)
把文本转义成 JSON 字符串、对 JSON 字符串字面量反转义、把 JSON 文档字符串化以便嵌入,或解码被二次编码的 JSON。
把文本放进 JSON 需要转义引号、反斜杠和换行;取出来则要把这些还原。本工具两者都能做,还能处理最容易让人困惑的两种情况:把整个 JSON 文档变成单个转义字符串(以便嵌入另一个 JSON 字段、环境变量或测试数据),以及解码被字符串化一次或多次的 JSON——日志和消息队列经常这样传递它。
使用方法
- 选择模式:转义、反转义、字符串化或取消字符串化。
- 粘贴文本或 JSON。
- 转义时,决定是否保留外层引号、是否把非 ASCII 字符转义为 \uXXXX,以及是否转义 / 以便在 <script> 标签内安全使用。
- 复制结果。
计算公式
" → \" \ → \\ 换行 → \n 制表符 → \t 其他控制字符 → \u00XX
遵循 RFC 8259 §7,即 JSON.stringify 使用的同一套规则:只有引号、反斜杠和小于 U+0020 的字符必须转义。其余一切,包括中文、emoji 和 /,都可以原样出现;选项可以把非 ASCII 字符(大于 U+FFFF 的字符转为 \ud83d\ude00 这样的代理项对)和 / 转义,以得到纯 ASCII 或适合嵌入 HTML 的输出。反转义使用严格的解析器,并会报告 \x 之类的无效转义及其位置。
示例
示例文本——他说 "你好" 并走到 C:\Users\Ada、一个换行、一个制表符和一些汉字——会变成 "他说 \"你好\" 并走到 C:\\Users\\Ada\n制表符:\t在这里 · 한글 ✓":每个引号和反斜杠前都加上反斜杠,换行变成 \n,制表符变成 \t。把 {"a": [1, 2]} 字符串化得到 "{\"a\":[1,2]}",取消字符串化后又剥掉一层,回到原样。
常见问题
转义和字符串化有什么区别?
转义把输入当作纯文本。字符串化则先检查输入是否是有效的 JSON,压缩后再转义,所以结果是一个可以解码回同一份文档的字符串。
为什么我的日志里到处都是 \" 和 \\?
因为 JSON 被编码成了字符串,有时还不止一次。取消字符串化会剥掉每一层,显示里面的 JSON,并统计层数。
一定要转义 / 或非 ASCII 字符吗?
不用——JSON 允许两者原样出现。当 JSON 放在 HTML 的 <script> 元素里时要转义 /(这样 </script> 就不会提前结束它);当系统只接受 ASCII 时,请使用 \uXXXX。
我的数据会被上传吗?
不会,所有处理都在你的浏览器中完成。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/json-escape-unescape-tool/
引用此工具
kakaoCalc. (2026, November 8). JSON 转义 / 反转义(JSON Stringify). https://kakao.mobile/zh/tools/json-escape-unescape-tool/
“JSON 转义 / 反转义(JSON Stringify).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/json-escape-unescape-tool/.