Skip to content

JSON 字符串反转义工具

在浏览器中把 JSON 字符串反转义还原成可读文本。解码 \n、\t、\"、\\ 与 \uXXXX,带或不带外层引号皆可。100% 私密,无需上传。

无追踪 浏览器中运行 免费
0 字符
解码文本
0 字符
已就 JSON 规范解码、引号可选解析、代理对重建及格式错误输入的错误处理进行审查 — Go Tools 工程团队 · 2026年6月10日

什么是 JSON 反转义?

JSON 反转义是 JSON 转义的逆过程:它接收一个满是转义序列的字符串——\n、\t、\"、\\、\uXXXX——把每一个变回它所代表的字符,还原原始文本。转义让字符串可安全存入 JSON 文档,而反转义让存储的字符串重新可读。

这种需求在调试和数据工作中不断出现。你从结构化日志中复制一个字段,它满是 \n 和 \" 隐藏了真实消息——反转义揭示真正的多行文本。某个 API 把请求体作为字符串存储(JSON-in-JSON),你需要读取内层对象——反转义把 {\"a\":1} 变回 {"a":1}。某个老旧系统输出 ASCII 安全的内容,每个重音都变成了 \uXXXX——反转义还原出 café 和 résumé。每种情况下数据本身完好,但在解码前无法阅读。

本工具就是为这条解码路径而建,有三个优势。第一,它对外层引号很宽容:粘贴完整字面量或只粘贴转义内容,它都会做正确的事——因为转义字符串通常是脱离上下文复制的。第二,它能正确解码 \uXXXX,把代理对组合成 emoji 等正确的星平面字符,与合规 JSON 解析器一致,所以任何序列化器转义过的内容都能完美往返。第三,它 100% 在你的浏览器中运行,所以你解码的日志字段和负载——常含 PII 或密钥——绝不到达服务器。要事后重新转义,请使用我们的 JSON 转义 工具;要校验解码后的 JSON,请看 JSON 格式化

// Escaped input (copied from a log, quotes optional)
User said: \"it works!\"\nSession ended.

// Unescaped output — readable again
User said: "it works!"
Session ended.

// \uXXXX and surrogate pairs decode too
caf\u00e9 \ud83d\ude00  ->  café 😀

// JSON-in-JSON
{\"a\":1}  ->  {"a":1}

核心功能

完整的 JSON 转义解码

把完整的 JSON 转义集合——\n \r \t \b \f \" \\ \/ 和 \uXXXX——解码回它们的真实字符,与合规 JSON 解析器一致。任何序列化器转义的内容都能逐字节还原。

引号可选

粘贴带外层引号的完整字符串字面量,或不带引号只粘贴转义内容——工具会检测是哪一种并正确解码。非常适合从日志或文档中间复制出来的字符串。

正确的 Unicode 和 Emoji

\uXXXX 转义解码为它们的 Unicode 字符,连续的代理转义组合成正确的星平面字符——\ud83d\ude00 变成 😀,\u00e9 变成 é。不会出现损坏的码点。

清晰的错误报告

格式错误的输入——孤立反斜杠后跟不识别的字符,或不成对的引号——会显示明确的错误提示条,而非默默产出乱码,让你确切知道要修什么。

用「交换」验证往返

一个「交换方向」按钮就地翻转为转义模式并重新编码解码后的文本,让你在信任结果前确认 反转义 → 转义 返回原始字符串。

100% 基于浏览器的隐私

所有解码都在客户端运行——你反转义的日志字段和负载(常含 PII 或密钥)绝不离开浏览器。在 Network 面板验证:粘贴时零请求。

示例

从日志复制来的转义字符串

"User said: \"it works!\"\nSession ended."

一个带 \" 和 \n 的 JSON 转义日志字段。反转义它即可读到带真实引号的两行原始消息——正是当初所记录的内容。

读取 JSON-in-JSON 负载

{\"event\":\"signup\",\"user\":{\"id\":42}}

一个作为转义字符串存储的内层 JSON 对象。反转义会还原出真实的 JSON,便于你阅读或重新解析。无需外层引号——它们会自动补上。

解码 \uXXXX Unicode 转义

caf\u00e9 \ud83d\ude00 r\u00e9sum\u00e9

来自老旧系统的 ASCII 安全转义。反转义会把 \u00e9 还原成 é,把代理对 \ud83d\ude00 还原成 😀。

还原多行片段

function greet(name) {\n  return \"Hi \" + name;\n}

一段被压平成单个 JSON 字符串的代码片段。反转义会还原真实换行,使其再次可读、可运行。

如何使用

  1. 1

    粘贴转义字符串

    输入或粘贴一个 JSON 转义字符串——带或不带外层双引号皆可。解码文本即时出现。点击「加载示例」试用转义日志行或 \uXXXX 编码字符串等样例。

  2. 2

    阅读解码输出

    转义序列变成真实字符:\n 变成换行,\" 变成引号,\uXXXX 变成 Unicode。如果输入格式错误,错误提示条会说明问题,便于你修正出错的反斜杠。

  3. 3

    复制或验证结果

    点击「复制」抓取可读文本,或把它送进 JSON 格式化校验。点击「交换方向」就地重新转义并确认往返与你的原始内容一致。

常见解码陷阱

像 \q 或 \x41 这样的无效转义

JSON 只识别 \n \r \t \b \f \" \\ \/ 和 \uXXXX。反斜杠后跟其它任何东西——\q,或 C 风格的 \x41——都不是合法转义,解码会失败。把 \x41 换成 \u0041,并移除本应是字面的多余反斜杠(字面反斜杠必须写成 \\)。

✗ 错误
value: \q and \x41
// \q and \x hex are not valid JSON escapes -> error
✓ 正确
value: \\q and \u0041
// literal backslash doubled; hex written as \u -> decodes

未转义输入中不成对的引号

当你粘贴裸内容(无外层引号)时,工具会在解码前把它包裹进引号。如果内容本身含一个未转义的双引号,包裹会被破坏,解码失败。把内部引号转义为 \",或改为粘贴完整带引号的字面量。

✗ 错误
say "hi" there
// interior unescaped " breaks auto-wrapping -> error
✓ 正确
say \"hi\" there
// interior quotes escaped -> decodes to: say "hi" there

期望一个未加倍的字面反斜杠

输入中单个反斜杠被解释为转义的开始。如果你实际想要字面反斜杠(例如 Windows 路径),它必须加倍写成 \\。普通字母前的孤立 \ 会触发无效转义错误。

✗ 错误
path: C:\Users\Alice
// \U and \A are invalid escapes -> error
✓ 正确
path: C:\\Users\\Alice
// doubled backslashes -> decodes to C:\Users\Alice

常见用例

解码结构化日志字段
从 JSON 日志行复制一个满是 \n 和 \" 的消息字段并反转义它,读到当初输出时的真实多行消息,而不必费力辨认转义序列。
读取 JSON-in-JSON 负载
把一个作为转义字符串字段存储的内层 JSON 对象还原成真实 JSON,便于你阅读或粘贴进解析器——在 webhook 信封和审计日志中常见。
从 ASCII 安全输出还原 Unicode
把老旧系统大量含 \uXXXX 的输出解码回带重音的字母、CJK 字符和 emoji,还原被强制为纯 ASCII 的数据的人类可读形态。
还原被压平的代码片段
把一段被折叠成单个 JSON 字符串(每个换行都是 \n)的脚本或查询还原成格式正确、多行、可读的代码。
调试双重编码的数据
当一个值看起来像 \\n 或 \\\" 时,反转义一次以检查它是否在上游被意外转义了两次,然后修正生产方——一个常见的集成 bug。
检查 API 错误消息
许多 API 把错误详情作为转义字符串返回在 JSON 信封内。反转义该消息以读取那些原本被转义序列隐藏的堆栈跟踪和嵌套负载。

技术细节

解码算法
本工具把输入解析为 JSON 字符串:如果它已被双引号包裹则按原样解码,否则先把原始输入包裹进引号,使裸的转义内容也能解码。每个识别的转义(\n \r \t \b \f \" \\ \/ \uXXXX)映射到它的字符;这与合规 JSON 解析器一致,保证任何序列化器转义的字符串返回到它的确切原始形态。
代理对重建
一个 \uXXXX 转义产出单个 UTF-16 码元。当一个高代理(\uD800–\uDBFF)紧跟一个低代理(\uDC00–\uDFFF)时,二者会被组合成一个基本多文种平面之上的码点——所以 \ud83d\ude00 解码为单个字符 😀,而不是两个损坏的半部。
校验与错误处理
如果输入含无效转义(反斜杠后跟不识别的字符,或格式错误的 \u 序列)或破坏包裹的不成对引号,解码会干净地失败并显示错误提示条,而非输出损坏的内容。合法输入总能产出确切的解码字符串;无效输入绝不产出误导性的部分结果。

最佳实践

带或不带引号粘贴——两者都行
不要浪费时间修剪外层引号。工具对 "hello\nworld" 和 hello\nworld 的解码完全相同,所以粘贴你复制到的任何东西——包括从更大文档中间截取的片段——直接读结果。
先反转义一次,再检查双重编码
如果解码输出仍显示 \n 之类的反斜杠序列,说明原文在上游被双重转义了。再反转义一次以确认,然后修正生产方,使它只转义一次而不依赖反复解码。
校验解码后的 JSON
反转义一个 JSON-in-JSON 负载后,把结果送进我们的 JSON 格式化 以确认它有效并美化它。反转义还原文本;格式化确认结构。
用「交换」验证往返
点击「交换方向」重新转义解码后的文本,检查它是否与你起初的字符串一致。不一致指向格式错误的输入或意外的转义,在问题扩散前暴露数据隐患。

常见问题

这个 JSON 反转义工具有什么用?
它逆转 JSON 转义:接收一个 JSON 转义字符串,把转义序列解码回它们所代表的字符,完全在你的浏览器中完成。\n 变成真实换行,\t 变成制表符,\" 变成双引号,\\ 变成单个反斜杠,\/ 变成正斜杠,\uXXXX 变成对应的 Unicode 字符(包括 emoji 和星平面文字的代理对)。结果是原始的、人类可读的文本。你可以带或不带外层双引号粘贴该字符串——工具会检测并处理两种形式。一切都在客户端运行,所以含敏感数据的转义负载绝不离开你的机器。
我需要包含外层双引号吗?
不需要——工具接受两种形式。如果你粘贴像 "hello\nworld" 这样完整的 JSON 字符串字面量(带外层引号),它会被直接解析。如果你只粘贴转义内容 hello\nworld(无外层引号),工具会在解码前替你包裹。这很方便,因为转义字符串常是从更大文档中间复制出来的,外层引号被落下了。无论哪种方式,你都得到相同的解码文本。
我的数据会被上传到任何地方吗?
不会。所有解码都使用 JavaScript 完全在你的浏览器中运行——你粘贴的转义字符串绝不会被传输、存储、记录或在任何服务器上分析。这使该工具能安全地解码可能含 PII 或密钥的日志字段、webhook 负载和配置值。你可以在浏览器的 Network 面板确认:粘贴触发零网络请求。没有捕获你输入的 Cookie,也没有读取你所粘贴内容的第三方分析。
为什么我会遇到「无效的转义序列」错误?
该错误意味着输入不是合法的 JSON 转义字符串,因此无法无歧义地解码。最常见的原因是孤立的反斜杠后跟一个 JSON 不识别为转义的字符——例如 \q 或 \x41(JSON 没有 \x 十六进制转义;它用 \u)。另一原因是未加引号输入中不成对或多余的双引号,会破坏自动包裹。请检查每个反斜杠都开启一个合法转义(\n \t \r \b \f \" \\ \/ \uXXXX),并且引号正确配对。
如何读取一个作为字符串存储的 JSON 对象(JSON-in-JSON)?
粘贴该转义字符串——例如 {\"a\":1}——工具会把它解码回真实的 JSON {"a":1},你随后即可阅读或复制进解析器。当 webhook 信封、消息队列记录或审计日志把请求体作为转义字符串字段存储时,正需要这种双重解码。反转义后,把结果粘贴进我们的 JSON 格式化以美化并校验它。要反向操作、为嵌入转义 JSON,请使用 JSON 转义工具。
它能正确解码 \uXXXX 和 emoji 吗?
能。每个 \uXXXX 被解码为它的 UTF-16 码元,连续的高/低代理转义会被组合成正确的星平面字符——所以 \ud83d\ude00 变成 😀,\u00e9 变成 é。这与任何合规 JSON 解析器执行的解码相同,意味着由我们的 JSON 转义工具(或任何序列化器)转义的字符串会逐字节往返还原到这里的原始形态。