ChatGPT解决这个技术问题 Extra ChatGPT

JSON:为什么正斜杠转义?

这个“逃脱”我的原因。

JSON 转义正斜杠,因此哈希 {a: "a/b/c"} 被序列化为 {"a":"a\/b\/c"} 而不是 {"a":"a/b/c"}

为什么?

FWIW 我从未见过 JSON 中的正斜杠转义,我只是在 code.google.com/p/json-simple 的 Java 库中注意到它
PHP 的 json_encode() 默认转义正斜杠,但从 PHP 5.4.0(2012 年 3 月)开始具有 JSON_UNESCAPED_SLASHES 选项
这是一个不会转义每个斜线的 PHP 代码,仅在 '</' 中:echo str_replace('</', '<\/', json_encode($obj, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
代码是否包含 '
JSON 不会转义或序列化任何东西......您的 JSON 序列化程序会。你用的是哪一个?

h
hakre

JSON 不要求您这样做,它允许您这样做。它还允许您将“\u0061”用于“A”,但这不是必需的,就像 Harold L 指出的那样:

JSON 规范说您可以转义正斜杠,但您不必这样做。

Harold L 于 2009 年 10 月 16 日 21:59 回答

允许 \/ 有助于将 JSON 嵌入到 <script> 标记中,这不允许 </ 在字符串中,就像 Seb 指出的那样:

这是因为 HTML 不允许