JSON 整形・検証ツール — 整形、圧縮、エラー箇所の特定
JSON を整形、圧縮(minify)、検証し、解析エラーは行と列で位置を示します。ブラウザ上で動作、アップロード不要。
{
"name": "FreeToolsForWeb",
"tools": [
"image converter",
"word counter",
"JSON formatter"
],
"settings": {
"theme": "light",
"language": "en"
},
"active": true
}すべてブラウザ内で動作します。入力内容が送信・保存されることはありません。 すべての無料ツールを見る.
不具合や改善できそうな点を見つけましたか?いただいたメッセージはすべて読み、すぐに対応します。
この無料の JSON 整形ツールは、ブラウザ上で JSON を検証し、見やすく整形します。API のレスポンス、設定ファイル、ログの行を貼り付ければすぐにインデントし直され、解析できない場合は、そっけない「Unexpected token」ではなく、エラーの行と列を教えてくれます。何もアップロードされないので、本番のペイロードや API キーが手元のマシンから出ることはありません。
Node.js、React、そしてあらゆる最新のランタイムが使っているのと同じ、ブラウザ自身の JSON パーサーを使っているので、ここで「有効」ならどこでも有効です。リクエストの本文や小さく保つべき設定には圧縮を、2 つのドキュメントの差分を取るにはキーの並べ替えを使い、コードを書く前にキーの数とネストの深さでペイロードの感触をつかみましょう。
使い方
- 入力ボックスに JSON を貼り付けます。入力に合わせて結果が更新されます。
- 読みやすい出力には「整形」を、1 行にまとめるには「圧縮」を選びます。コードベースに合わせて 2 スペース、4 スペース、タブを選びます。
- 2 つの JSON ドキュメントを比較する必要があるときは「キーを並べ替え」をオンにします。同じデータなら同じテキストになります。
- 入力が無効な場合は、赤いステータス行の行と列を確認してその箇所を直します。最もよくある原因は、末尾のカンマ、シングルクォート、引用符のないキーです。
- 結果をコピーするか、.json ファイルとしてダウンロードします。
よくある質問
JSON が「Unexpected token」で失敗するのはなぜですか?
ほぼ必ず次の 4 つのどれかです。オブジェクトや配列の最後の要素の後の末尾カンマ、ダブルクォートの代わりのシングルクォート、{name: 1} のような引用符のないキー、コメント。JavaScript では許されても、JSON ではどれも許されません。このツールは行と列を報告するので、たいていは問題の文字をそのまま指し示します。
データはどこかにアップロードされますか?
いいえ。解析と整形は JSON.parse と JSON.stringify を使ってブラウザ内で行われます。ページの読み込み後にインターネットを切断しても動作し続けることが、最も簡単な証明です。そのため、トークンや顧客データを含むペイロードにも安心して使えます。ただし、どのブラウザタブに何を貼り付けるかについては、通常どおり注意してください。
整形と圧縮の違いは何ですか?
整形(ビューティファイ)は、人が構造を読めるよう改行とインデントを加えます。圧縮(ミニファイ)は、機械がより速く転送できるよう不要な文字をすべて取り除きます。圧縮したドキュメントは通常 20〜40% 小さくなります。どちらでもデータは同一で、変わるのは空白だけです。
JSON5、JSONC、コメントには対応していますか?
意図的に対応していません。これらは一部の設定ファイル(VS Code の設定、tsconfig)で使われる上位互換の形式ですが、API や JSON.parse では拒否されます。ここに JSONC を貼り付けると最初のコメントで失敗しますが、それが「API はこれを受け付けるか」に対する正しい答えです。厳密な版が必要なら、先にコメントを取り除いてください。
サイズの制限はありますか?
ブラウザがテキストボックスで無理なく扱える範囲だけです。数 MB のドキュメントなら、ノートパソコンで 1 秒もかからず整形できます。約 50 MB を超えるとほとんどのブラウザの動作が重くなるので、jq のようなコマンドラインツールのほうが適しています。
キーを並べ替えるのはなぜですか?
データが同じでもキーの順序が違う 2 つの JSON ドキュメントはテキストとしては別物なので、差分ツールではすべての行が変更されたように表示されます。キーを再帰的に並べ替えれば順序が正規化され、差分には実際の変更だけが表示されます。多くのシステムが JSON の内容から安定したハッシュを作るのも、この方法です。
つまずきやすい JSON のルール
• キーと文字列にはダブルクォートを使う必要があります。'シングル' クォートは JavaScript であって、JSON ではありません。
• 末尾のカンマは不可。オブジェクトや配列の最後の要素の直後には } または ] が続きます。
• どんな種類のコメントも不可、undefined や NaN の値も不可です。null を使います。
• 数値は先頭のゼロや末尾のドットを持てません。0.5 と 12 は問題ありませんが、05 と 12. は不可です。
• 最上位には、単独の文字列や数値を含むどんな値も置けますが、ほとんどの API はオブジェクトか配列を想定しています。
圧縮すべきときとすべきでないとき
ネットワーク経由で大量に送るものは圧縮しましょう。API のリクエストやレスポンスの本文、HTML に埋め込む設定、ページが取得するデータファイルなどです。gzip で空白のコストの大半はすでに取り除かれるので効果は控えめですが、手間はかかりません。人が編集やレビューをする必要のあるものは圧縮しないでください。リポジトリにチェックインする設定、テストスイートのフィクスチャ、ドキュメントの例などです。そこでは読みやすさのほうが、数百バイトよりはるかに価値があります。
関連する無料ツール
- Base64 エンコーダー / デコーダー — テキストやファイルを Base64 にエンコードし、画像を CSS や <img> のコード付きでデータ URI に変換、Base64 をプレビュー可能なファイルにデコードできます。データはブラウザの外に出ません。
- 正規表現テスター — サンプルテキストに対して正規表現をテストし、マッチのハイライト、キャプチャグループ、置換のプレビューをリアルタイムで確認。無料、ブラウザ上で動作。
- JWT デコーダー — JWT のヘッダーとペイロードをデコードし、有効期限をわかりやすく表示し、HS・RS・PS・ES の署名を検証したり、新しいトークンに署名したりできます。何もブラウザの外に出ません。