[解決済み】JSON文字列を構築する際に、特殊文字をエスケープする方法は?
2022-04-02 22:27:44
質問
以下は私の文字列です。
{
'user': {
'name': 'abc',
'fx': {
'message': {
'color': 'red'
},
'user': {
'color': 'blue'
}
}
},
'timestamp': '2013-10-04T08: 10: 41+0100',
'message': 'I'mABC..',
'nanotime': '19993363098581330'
}
メッセージにはシングルクォーテーションが含まれていますが、これはJSONで使用されるクォーテーションと同じです。私が行っているのは、メッセージのようなユーザー入力から文字列を作成することである。そのため、このような特殊なシナリオをエスケープする必要があり、コードが破損してしまいます。しかし、文字列の置き換え以外に、これらをエスケープしつつ、HTMLが正しいメッセージに戻るように処理する方法はあるのでしょうか?
どのように解決するのですか?
JSONの文字列は、以下のように二重引用符で囲む必要があります。
スペック
のように、エスケープする必要はありません。
'
.
JSONの文字列の中で特殊文字を使用する必要がある場合、それをエスケープするために
\
文字を使用します。
JSONで使用される特殊文字の一覧は、こちらをご覧ください。
\b Backspace (ascii code 08)
\f Form feed (ascii code 0C)
\n New line
\r Carriage return
\t Tab
\" Double quote
\\ Backslash character
しかし、仕様に全く反していても、作者は
\'
.
これは 悪い というのも
- スペックに反している
- JSONの有効な文字列ではありません。
しかし、望むと望まざるとにかかわらず、それは機能するのです。
新しい読者のために、json文字列には常に二重引用符を使用してください。
関連
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] JSONファイルをprettyprintする方法は?
-
[解決済み] JSONデータをファイルに書き込むにはどうしたらいいですか?
-
[解決済み] JSON文字列を安全にオブジェクトに変換する
-
[解決済み] JSオブジェクトをJSON文字列に変換する
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] .NETでC#オブジェクトをJSON文字列に変換するには?
-
[解決済み】JSONデータからJSONスキーマを生成するツール【終了しました
-
[解決済み】application/jsonとapplication/x-www-form-urlencodedの違いは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Golang json Unmarshal "予期せぬJSON入力の終了"
-
[解決済み] JSON文字列を構造体に変換する方法
-
[解決済み] BSONとは何ですか?JSONとどう違うのですか?
-
[解決済み】新しいPostgreSQL JSONデータ型内のフィールドを変更するにはどうすればよいですか?
-
[解決済み】JSONのキーは引用符で囲む必要があるのでしょうか?
-
[解決済み】JSON文字列を構築する際に、特殊文字をエスケープする方法は?
-
[解決済み】Github WikiでJSONブロックをスタイルする方法は?
-
[解決済み】mongodbでISODateを使った日付クエリが動作しないようです。
-
[解決済み】JSONは"["で始めることができますか?
-
[解決済み】JSON文字列を辞書に変換する方法は?