1. ホーム
  2. javascript

[解決済み] JSON:なぜフォワードスラッシュはエスケープされるのですか?

2022-03-23 01:54:09

質問

その理由は何ですか?

JSON はフォワードスラッシュをエスケープするので、ハッシュの {a: "a/b/c"} としてシリアライズされます。 {"a":"a\/b\/c"} ではなく {"a":"a/b/c"} .

なぜ?

解決方法は?

JSONはそれを要求しているのではなく、それを可能にしているのです。また、"A" に "\u0061" を使うこともできますが、Harold L が指摘するように、それは必須ではありません。

<ブロッククオート

JSONの仕様では、スラッシュをエスケープすることは可能ですが、する必要はありません。

Harold L が 2009年10月16日 21:59 に回答しました

許可する \/ でJSONを埋め込む際に役立ちます。 <script> タグは </ は、Sebが指摘するように、文字列の中にある。

の中に文字列を入れることはHTMLでは認められていないからです。 <script> タグに含まれる </ そのため、その部分文字列がある場合は、すべてのフォワードスラッシュをエスケープする必要があります。

Seb が回答しました 10月 16 '09 at 22:00 (#1580667)

MicrosoftのASP.NET Ajax/JSON APIの中には、この抜け穴を利用して余分な情報を追加するものがあります。 "\/Date(milliseconds)\/" . (ヤバイ)