我不明白为什么会这样。
JSON转义为正斜杠,因此hash{a:"a/b/c"}序列化为{"a":"a\/b\/c"}而不是{"a":"a/b/c"}。
{a:"a/b/c"}
{"a":"a\/b\/c"}
{"a":"a/b/c"}
为什么?
JSON不需要您执行此操作,而是允许您执行此操作。它还允许您将“\u0061”用于“A”,但这不是必需的。\/在将JSON嵌入<script>标记中时允许帮助,该标记不允许</内部字符串出现,如Seb指出的那样。
\/
<script>
</
Microsoft的一些ASP.NET Ajax/JSONAPI使用此漏洞来添加额外的信息,例如datetime将以形式发送"\/Date(milliseconds)\/"。(Y)
"\/Date(milliseconds)\/"