跳转到主要内容
CuteJSON
↑↓ 导航 Enter 选择 Esc 关闭

如何正确转义和反转义JSON字符串

发布 1 分钟阅读 作者 Akash Kinkar Pandey

转义是文档在可以存在于字符串内部之前需要的:包含另一个JSON文档的 JSON值、日志行、shell参数、粘贴到测试文件中的测试数据。规则很短, 此工具应用所有规则。

使用JSON转义和反转义工具

选择转义或反转义,粘贴您的文本,然后按转换。转义时,您可以选择 是否用引号包装结果,以及是否转义ASCII以上的所有字符。

转义

line1
line2	tab/slash"quote"café

默认选项产生:

"line1\nline2\ttab/slash\"quote\"café"

换行符变成\n,制表符变成\t,引号被转义,正斜杠被完全单独 留下,café保持为UTF-8文本。

为什么正斜杠被单独留下

JSON接受\/作为字面量/的有效转义,但规范中没有要求。转义 斜杠的习惯来自将JSON嵌入HTML <script>标签,其中字面量 </script>序列会提前结束标签。这是一个不同的问题,有不同的 解决方案,特定于该嵌入上下文,此工具默认不应用它。反转义仍然 接受两种拼写,因为由转义斜杠的东西编写的文档仍然需要正确读取。

ASCII以上转义

启用此选项还会将ASCII范围以上的每个字符转换为\u转义,逐个 代码点。café中的é变成六个字符:反斜杠、u、0、0、 e、9,因此上面的字符串以caf结尾后跟该转义而不是字母本身。 当转义文本必须穿越不一定是UTF-8安全的东西时(如旧系统或损坏 编码的传输),这就是您想要的。对于将作为UTF-8读取的任何内容, 请关闭它,因为转义形式更难阅读且没有好处。

片段没问题

两个方向都不要求输入本身是有效的JSON。转义文档的一部分,您即将 插入更大字符串的单个值,是常见的需求,因此工具处理片段并单独 报告结果是否恰好解析为完整JSON,作为说明而不是结论。

返回所有文章