JSON を整形する
ワイド画面で JSON を整形、圧縮、エスケープし、右のツリーで同じ値を編集します。不正な場合は、ブラウザが示せる行と列を出します。
左がソース、右が同じ木です
このページは 1 つの JSON を扱うワイドな作業台です。左は貼ったテキスト、右は同じ値のツリーで、折りたたみ、検索、編集ができます。整形、圧縮、エスケープをします。壊れた JSON を推測で直しません。文を JSON 文字列に入れるだけなら JSON エスケープ です。CSV は JSON から CSV、YAML は JSON から YAML です。
使い方
- 左に貼り付けるか、例を表示、読み込む、または .json / .txt を左へドロップします。下の状態はキャレットの行と列、文字数と行数です。左右に行番号があり、スクロールに追従します。右の行番号は最初からオンで、チェックを外すと消えます。文字数はバイト数ではありません。
- 整形は選んだ字下げ(2 または 4)で開きます。圧縮は 1 行です。キー順に並べるは右側にあります。付けるとオブジェクトのキーを並べ、外すと付ける前の順に戻します。配列の順はそのままです。
- エスケープはテキストを JSON 文字列にします。中身が正しい JSON なら、今の字下げで開いてからエスケープします。圧縮してエスケープは先に 1 行にしてからエスケープします。戻すのは 1 段だけです。結果が文字列なら、その文字列を表示し、もう一度は解析しません。
- ツリーは左のテキストに追従します。▾ でノードを折りたたみます。ツールバーの折りたたむは木全体を閉じ、ボタンは展開になります。展開を押すと全部開き、ボタンは折りたたむに戻ります。
- 検索は最初は出ません。ツールバーの検索を押すと開きます。キーと値に一致します。大文字小文字の区別と、一致しない枝の折りたたみが選べます。前へと次へで一致を移動します。ツリー下のパスは JSONPath で、例は
$.tags[0] です。 - キーや値をダブルクリックして編集します。真偽値はクリックで true と false が入れ替わります。行にカーソルを置くと + でノードを追加し、× で削除します。左のコピーも右の結果をコピーも、書き出しも、左のテキストです。全画面は画面いっぱいになります。窓が狭いとツリーはソースの下に並びます。
解析がすること、しないこと
受け付けるのは JSON だけです。末尾のカンマ、単一引用符、コメントはエラーです。ブラウザが位置を返すときは行と列を示します。同じキーは最後のものが残り、JSON.parse と同じです。整数が Unix 時刻(秒またはミリ秒)に見えると、横にローカル時刻を出します。その表示は JSON へは書き戻しません。ノードが 4000 を超えても整形と圧縮はでき、ツリーは描きません。ツリーを編集すると左を書き直します。もともと 1 行なら 1 行のまま、改行があるなら選んだ字下げで書き直します。非常に大きな整数は下の桁が落ちることがあります。すべての桁が必要なら文字列にしてください。例は文字列「Ada」、真偽値、null、配列、タイムスタンプ 1700000000 を持つオブジェクトです。
使う場面
- 1 行の API 応答を読み、見ない枝を折りたたむ。
- フィクスチャの 1 フィールドを、カンマを探さずに変える。
- JSON 全体をエスケープして別の文字列に入れ、戻して確認する。
質問
末尾カンマが拒否されました。
ここは JSON であり JSON5 ではありません。カンマとコメントを除いてください。ブラウザが位置を返すときは行と列が出ます。
大きいファイルにツリーがありません。
4000 ノードを超えるとツリーは描きません。整形と圧縮は左を書き直します。
null を文章にすると引用符が付きました。
null は null、true、false、JSON の数値に替えられます。それ以外の文字は文字列として保存されます。