すべてのツール

JSONフォーマッター

json-format

• JSONを整形するか、1行に圧縮します。 • インデント(2·4·タブ)選択、エラー位置表示、コピーに対応。

入力したJSONを解析して、インデント付きで整形するか1行に圧縮します。文字列・数値・ネスト構造はそのまま保持し、エラーがあれば位置を示します。

JSONの整形はなぜ必要か

JSONは改行やインデントがなくても動作するため、API応答やログのJSONはたいてい1行に長くつながっています。人が構造を把握するには階層に合わせて行を分ける必要があります。

整形モードはインデントを入れてどの値がどこに属するかを一目で分かるようにし、圧縮モードは空白をすべて取り除いて転送量を減らします。設定ファイルは整形して、APIリクエスト本文は圧縮して使うと良いです。

文法が間違っている場合はエラー位置も示すので、余分なカンマや抜けた引用符を探すのが速くなります。貼り付けたJSONはブラウザ内だけで処理されサーバーには送信されないので、実際の応答データを入れても安全です。

よくある質問

JSONのエラー位置はどこで分かりますか

貼り付けた時点で検査し、文法が誤っていればブラウザが返すエラーメッセージを位置の番号付きでそのまま表示します。この番号は先頭から数えた文字数なので、エディタでその地点へ移動すれば問題の箇所にすぐ着きます。原因は表示位置の一つ二つ前の行にあることが多いです。

末尾のカンマ1つでエラーになります

JSONの規格では配列やオブジェクトの最後の要素の後ろにカンマを置けません。JavaScriptのコードでは通るので残しがちですが、ここではエラーになります。項目を1つ消してカンマだけ残したケースが最も多いので、閉じ括弧の直前から確認してみてください。

シングルクォートやコメントが使えないのはなぜですか

文字列とキーは必ずダブルクォートで囲む決まりで、スラッシュ2つやアスタリスクで始まるコメントもJSONには含まれません。Pythonの辞書やコメント付きの設定ファイルをそのまま移すと、たいていこの2点で引っかかります。引用符を替えてコメント行を消せば通ります。

日本語がユニコードエスケープで表示されます

API応答やログでは、ASCII以外の文字がバックスラッシュとuで始まる符号に変換されていることがあります。そのまま貼り付けて整形すると解析の段階で元の文字に戻り、結果には読める文字で出ます。値が変わるのではなく表記が戻るだけなので、そのまま使えます。

圧縮(minify)はどんなときに使いますか

圧縮モードは改行と空白をすべて取り除き、1行にまとめます。設定値を環境変数の1枠に入れるとき、リクエスト本文をコマンドラインに1行で貼るとき、保存量や転送量を減らしたいときに使います。値は変わらないので、後から整形モードで開き直せます。

インデントは2スペース・4スペース・タブのどれがいいですか

どれを選んでもデータは同じで読みやすさが変わるだけなので、チームの規約に合わせれば十分です。Webの案件では2スペースが多く、階層の浅い設定ファイルは4スペースが見やすいです。タブは読む側が幅を調整できるため、資料やイシューに貼るときに無難です。