JSONを整形・検証・圧縮
JSONを貼り付けるとすぐに検証され、エラーがあれば行と列を表示。ワンクリックで整形や圧縮ができます。処理はすべてブラウザ内で行われるので、機密データも安心です。
- 無料
- エラーの行と列を表示
- ツリー表示
- 送信なし
100% プライベート — すべてブラウザ内で直接処理されます。ファイル、音声、映像がChatzamのサーバーに送信されることはありません。
JSONを整形・検証する方法は?
-
JSONを貼り付ける
入力欄に内容を貼り付けると、すぐに検証されます。
-
修正または整形
エラーがあれば行と列が表示されます。問題がなければ、スペース2つ・4つ・タブでインデントしたり、圧縮したり、キーを並べ替えたりできます。
-
コピーまたはダウンロード
結果をワンクリックでコピーするか、.jsonファイルでダウンロードします。ツリー表示なら階層ごとにデータを確認できます。
JSONを読む・直すための機能
正確な検証
何が問題でどこにあるかを、行と列とともにわかりやすく表示するので、すぐに修正できます。
整形と圧縮
読みやすいようにスペース2つ・4つ・タブでインデント。送信用には空白のないコンパクトな形に圧縮できます。
キーの並べ替え
キーをアルファベット順に並べ替えます。2つのAPIレスポンスや設定ファイルを比べるときに便利です。
折りたためるツリー表示
長いJSONでも、見たいオブジェクトや配列だけを展開できます。
よくあるJSONのエラー
JSONはJavaScriptよりも厳格です。キーと文字列はダブルクォートで囲む必要があり、{'name': 'さくら'} は無効、{"name": "さくら"} が正しい書き方です。[1, 2, 3,] のような最後の要素のあとのカンマ(末尾カンマ)は使えず、// や /* */ のコメントも書けません。true、false、null は小文字で書き、undefined、NaN、Infinity はJSONには存在しません。もうひとつの落とし穴は、文字列の中のダブルクォートやバックスラッシュはエスケープが必要なこと(\" と \\)で、改行は \n と書きます。エラーが表示されたら、示された位置の少し前も確認しましょう。前の行の末尾のカンマ忘れが原因であることがよくあります。
インデント整形と圧縮、どちらを選ぶ?
インデントされたJSONは読みやすく、階層が深くなるごとに、プロジェクトのルールに合わせてスペース2つ、スペース4つ、またはタブで字下げされます。Web開発ではスペース2つが最も一般的で、Pythonの世界ではスペース4つもよく使われます。圧縮(minify)はその逆で、データを変えずにスペース、タブ、改行を取り除き、できるだけコンパクトなテキストにします。リクエストで送ったり、保存したり、環境変数に貼り付けたりするときに使います。プログラムにとって2つはまったく同じデータで、違うのは読みやすさだけです。確認やデバッグには整形、送信には圧縮を使いましょう。
キーの並べ替えとツリー表示
JSONの仕様(RFC 8259)では、オブジェクトは順序のない集まりとされ、{"a": 1, "b": 2} と {"b": 2, "a": 1} は同じデータを表します。そのため、キーをアルファベット順に並べ替えれば、順序の違いに惑わされずに2つのAPIレスポンスや設定ファイルを1行ずつ比べられます。ツリー表示は大きなJSONを調べるのに便利です。大きな配列は折りたたみ、必要な階層だけを展開して、深い場所にある値もすぐに見つけられます。処理はすべてブラウザ内で行われるので、顧客データや社内のエクスポート、機密性の高いAPIレスポンスを貼り付けても、サーバーには何も送信されません。
よくある質問
JSONが正しいか確認するには?
ツールに貼り付けるだけで、すぐに検証されます。無効な場合は、エラーの内容が行と列とともに表示されます。
JSONが無効になるのはなぜですか?
多いのは、ダブルクォートではなくシングルクォートを使っている、キーをクォートで囲んでいない、最後の要素のあとにカンマがある、コメントが入っている、といった原因です。表示された位置と、その直前の行の末尾を確認してください。
JSONを圧縮(minify)するには?
貼り付けてから圧縮を選びます。スペースや改行が取り除かれ、データはそのままです。結果をコピーするか、.jsonでダウンロードしてください。
JSONのインデントはいくつにすべきですか?
スペース2つが最も一般的で、スペース4つやタブでも問題ありません。読みやすさの問題で、データは変わりません。
JSONデータはサーバーに送信されますか?
いいえ。検証も整形もブラウザ内で行われるので、機密データを整形しても端末の外に出ることはありません。