JSON 圧縮とエスケープ

ローカル処理
app.escape.view

次の方法でも #data={"name":"Ada"} または #url=... データを流し込めます。読み取り後はアドレスバーから削除されます。

使い方

圧縮と同時にエスケープを扱います。JSON を文字列リテラルへ入れる、またはエスケープ済みテキストから戻す用途です。コード断片や設定テンプレートでよく使います。ログでは \" が何層も重なることがあり、このページは「解析できる JSON」と「文字列に埋め込んだテキスト」を切り替えます。

圧縮 + エスケープ

他の文字列へ埋め込める1行テキストになります。たとえば JSON を別 JSON のフィールドへ書く、shell 変数へ入れる、といった用途です。

元テキストが合法 JSON であることを先に確認してからエスケープし、構文エラーごと埋め込まないでください。

アンエスケープ

ログから \" 付きの内容をコピーし、解析できる JSON へ戻します。ゲートウェイや SDK が body を文字列として記録した場合に向いています。

戻したあとすぐフォーマットして構造を見られます。

先に合法であることを保証

元テキストが JSON でないとエラーになり、さらに調べにくい文字化けを出しません。モードを間違える(アンエスケープすべきなのにエスケープを選ぶ)と予期しない結果になるので、サンプルと照合してください。

空白を除くだけでコードへ埋め込まないなら、圧縮ページで十分です。

元の JSON
{"msg":"hello"}
エスケープ後(イメージ)
{\"msg\":\"hello\"}
通常の圧縮との違いは?

圧縮 は空白だけ除きます。このページは引用符とバックスラッシュも扱い、コードへ埋め込みやすくします。

改行はどうなりますか?

圧縮後はもともと改行がありません。エスケープの主対象は引用符とバックスラッシュです。

2回エスケープすると?

1回ごとにバックスラッシュが1層増えます。結果がすべて \\ に見えるなら、「エスケープを解除」で戻してください。

HTML 属性向きですか?

出発点にはなりますが、HTML の引用符規則にも注意し、公開前に対象環境で一度試してください。

おすすめの手順

  1. 方向を決めます。文字列へ埋め込むなら「圧縮してエスケープ」、ログから戻すなら「エスケープを解除」。
  2. 元テキストを貼り、出力が次のツールやコードで使えるか確認します。
  3. 戻した JSON はもう一度フォーマットし、フィールドが揃っているか確認することを推奨します。
  4. 1行だけでコードへ埋め込まないなら、通常の圧縮ページへ切り替えてください。

ログでは多層エスケープがよくあります。何層か不明なら、「エスケープを解除」を標準パーサーが受け入れるまで繰り返します。