JSON整形・検証ツール
JSONを貼り付けて整形・圧縮・構文チェックができます。処理はブラウザ内で完結し、貼り付けた内容が外部に送信されることはありません(API応答や設定ファイルも安心して扱えます)。
入力
出力
JSONでエラーになりやすい書き方
JSONはJavaScriptのオブジェクト記法に似ていますが、ルールはより厳格です。エラーの原因はほぼ次のどれかです。
① 末尾のカンマ — {"a": 1,} はエラー。最後の要素の後ろにカンマは置けません
② シングルクォート — {'a': 1} はエラー。文字列は必ずダブルクォート
③ キーのクォート漏れ — {a: 1} はエラー。キーも必ず "a" と書く
④ コメント — JSONに // や /* */ は書けません
⑤ 制御文字・全角スペース — コピペで紛れ込んだ見えない文字が原因のことも
ハマりやすいポイント
大きな整数は精度が落ちることがある。 JSON自体は桁数を制限しませんが、JavaScriptで読み込むと数値は内部的に倍精度小数として扱われ、9,007,199,254,740,991(2の53乗−1)を超える整数は正確に保てません。SNSの投稿IDやSnowflake IDのような大きなID値が、末尾だけ変わってしまう事故はこれが原因です。この手のIDは数値ではなく文字列("1234567890123456789")として持つのが定石です。
JSONに「日付型」はない。 日時は文字列で表すしかなく、"2026-08-28T12:00:00Z" のようなISO 8601形式が広く使われます。パースしても自動で日付オブジェクトになるわけではないので、受け取った側で変換する必要があります。
コメントや末尾カンマが書ける設定ファイルは、実はJSONではない。 VS Codeの settings.json などで // コメントや末尾カンマが許されるのは、それがJSONC(JSON with Comments)という別方言だからです。これらを厳密なJSONとしてパースするとエラーになります。標準JSONと混同しないよう注意してください。
よくある質問
Q. コマンドラインで整形するには?
A. Linuxなら cat file.json | jq .、PowerShellなら Get-Content file.json | ConvertFrom-Json | ConvertTo-Json -Depth 10 が定番です(PowerShellは既定で深さ2までしか展開しないため -Depth 指定が重要)。
Q. 「圧縮」は何のため?
A. 改行とスペースを取り除いて1行にします。設定値として埋め込む場合やデータ量を減らしたい場合に使います。読みやすさは失われるので保管用には整形版を。
Q. 5MBのログJSONを貼っても大丈夫?
A. ブラウザ内処理なのでサーバー側の制限はありませんが、数十MB級になるとブラウザの動作が重くなります。その規模は jq などのコマンドラインツールが適しています。