オンラインJSONエスケープツール(JSON Escape / Unescape / Unicode)
オンラインJSONエスケープツール(JSON Escape / Unescape / Unicode):引用符とバックスラッシュをエスケープし、必要に応じてUnicode化してJSONを検証
JSONエスケープツールはどう使う?JSONの中にJSONを安全に入れる
JSONエスケープツールは、JSON内の引用符、バックスラッシュ、改行などの特殊文字をエスケープシーケンスに変換したり、元の文字列に戻したりするツールです。
内容を貼り付けてEscapeまたはUnescapeを選択します。JSONの構文が正しいかどうかも確認できます。すべてブラウザ内で処理されます。
JSONのエスケープが必要なのはいつ?
JSONを別のJSONのフィールド内に文字列として格納する場合、内側のJSONに含まれる引用符をエスケープする必要があります。エスケープしないと外側のパーサーが最初の引用符で文字列を終了し、構造エラーやフィールド欠落の原因になります。CSV、設定ファイル、SQL文などにJSONを保存する場合も同様です。
ユーザー入力をJSON文字列へ直接組み込む場合も、引用符やバックスラッシュを正しくエスケープする必要があります。文字列の中に別の文字列を入れる場合は、外側の値を構築する前にエスケープしてください。
実際にエスケープが必要な文字は?
主な対象は二重引用符、バックスラッシュ、改行、復帰、タブ、0x20未満の制御文字です。中国語、絵文字などの表示可能な文字は、現代のJSONでは必ずしもエスケープする必要がなく、UTF-8のまま保存できます。純粋なASCII通信や古いシステムとの互換性が必要な場合は非ASCII文字をUnicodeエスケープに変換できます。
UnicodeエスケープとJSONエスケープは同じ?
完全には同じではありません。Unicodeエスケープは文字をコードポイントで表現する方法です。JSONエスケープはJSON構文を壊す文字にバックスラッシュを付ける処理です。通常はJSON構文のエスケープを行った後、必要に応じて非ASCII文字をUnicodeエスケープに変換します。
Unescapeが失敗する主な原因は?
孤立したバックスラッシュ、不正なエスケープシーケンス、すでに一度解析された内容を再度Unescapeするケース、エスケープされていない改行などが代表的です。エラーが出た場合は、まず検証機能で問題箇所を確認してください。
JSONの検証とエスケープは一緒にできる?
できますが順序が重要です。まず元のJSON構造が正しいかを検証し、その後でエスケープします。先にエスケープすると外側からはオブジェクトではなく文字列として見えるため、検証結果が元のJSON構造を表さなくなります。
エスケープだけでXSSを防げる?
エスケープは防御の一部にすぎません。山括弧やアンパサンドをエスケープするとHTMLとして解釈されるリスクを下げられますが、適切なXSS対策にはコンテキストに応じた出力エンコードやセキュリティ制御が必要です。
ネストしたJSONを構文を壊さずにエスケープする方法
JSONを別のJSON文書内に文字列として保存する場合、内側のJSONに含まれる引用符をエスケープする必要があります。このツールは引用符、バックスラッシュ、改行、復帰、タブをJSONの規則に従って処理し、必要に応じて非ASCII文字をUnicodeエスケープへ変換できます。
Escape、Unescape、構文検証を分離しているため、「正しいJSON」と「正しいJSON文字列」を混同しません。
- 二重引用符、バックスラッシュ、改行、復帰、タブ、0x20未満の制御文字をエスケープできます。
- 中国語などの非ASCII文字を必要に応じてUnicodeエスケープへ変換できます。
- Unescapeでエスケープされた引用符や改行を読みやすいJSONテキストへ戻せます。
- JSON検証機能でエラー位置を確認してからエスケープ方向を選択できます。
- 山括弧とアンパサンドも必要に応じてエスケープできます。
- すべての処理はブラウザ内でローカルに行われ、入力内容はアップロードされず、登録も不要です。