[解決済み] 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)\/"
. (ヤバイ)
関連
-
JavaScriptの配列共通メソッド解説
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] JSONPとは何か、なぜ作られたのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue ディレクティブ v-html と v-text
-
Vueでルートネスティングを実装する例
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
[解決済み】Node.js getaddrinfo ENOTFOUND
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】リソースの読み込みに失敗した:Bind関数でサーバーが500(Internal Server Error)のステータスで応答した【非公開
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。