このツールについて
JSON文字列は特定の文字をそのまま含めることができません。二重引用符、バックスラッシュ、改行やタブのような制御文字はエスケープシーケンス(\", \\, \n, \t)として書く必要があり、任意の文字は\uXXXXのコード単位として表現できます。本ツールは生のテキストを有効なJSON文字列の内容にエスケープし(JSON.stringifyをベースにしているため、出力は仕様どおりに正確です)、JSON.parseでその処理を逆転させます。エスケープ済みの文字列は、それを囲む二重引用符の有無にかかわらず受け付けます。
複数行のテキスト、ファイルパス、コードの断片を手作業でJSONペイロードに埋め込んだり、エスケープが解決された後にAPIやログ行が実際に何を含んでいるかを確認したり、エスケープされていない引用符や紛れ込んだバックスラッシュが原因の「無効なJSON」エラーをデバッグしたりするのにお使いください。「Wrap in quotes」を切り替えると、JSONドキュメントにそのまま貼り付けられる完全な文字列リテラルが得られ、本体だけが必要なときは内側の内容のみが得られます。
エスケープはテキストがJSONでどのように表現されるかを変えるだけで、その意味を変えるものではありません。これは暗号化でもサニタイズでもなく、デコードされた値は元と同一です。
よくある質問
JSON文字列ではどの文字をエスケープする必要がありますか?
二重引用符(")とバックスラッシュ(\)は常にエスケープする必要があり、制御文字も同様です。改行は\n、タブは\t、復帰は\rになり、その他の制御コードには\b、\f、\x00–\x1fがあります。任意の文字は\uXXXXエスケープとして書くこともできます。
囲む引用符のないJSON文字列をアンエスケープできますか?
はい。本ツールは両方の形式を受け付けます。"a\nb"のような完全なリテラルでも、内側の内容だけのa\nbでも構いません。解析の前に欠けている引用符が自動的に追加されるため、どちらの貼り付けでも機能します。
なぜJSON文字列がアンエスケープに失敗するのですか?
最も一般的な原因は、値の中のエスケープされていない二重引用符、末尾にぶら下がったバックスラッシュ、または不完全な\uシーケンス(16進数字が4桁未満)です。ツールは具体的な解析エラーを報告するため、問題のある文字を特定できます。