その理由は私には「わかりません」。
翻訳はスラッシュをエスケープするため、ハッシュはではなく{a: "a/b/c"}
としてシリアル化されます。{"a":"a\/b\/c"}
{"a":"a/b/c"}
なぜ?
ベストアンサー1
JSON では、そうする必要はありません。そうすることが許可されています。また、"A" の代わりに "\u0061" を使用することもできますが、Harold L が指摘しているように、必須ではありません。
JSON 仕様では、スラッシュをエスケープできるとされていますが、必ずしもそうする必要はありません。
許可すると、Seb が指摘しているように、文字列内では許可されないタグ\/
内に JSON を埋め込むときに役立ちます。<script>
</
<script>
これは、HTML ではタグ内の文字列に を含めることができないため</
、その部分文字列が存在する場合は、すべてのスラッシュをエスケープする必要があるためです。
Microsoft の ASP.NET Ajax/JSON API の一部は、この抜け穴を使用して追加情報を追加します。たとえば、日時は として送信されます"\/Date(milliseconds)\/"
。(うわっ)