JSON整形・検証ツール

JSONを貼り付けると、見やすく整形、圧縮、または壊れている箇所を正確に特定できます。すべてブラウザ内で動くので、何もアップロードされません。

JSON入力

インデント
検証は端末内で行われます。JSONがアップロードされることはありません。

出力

有効なJSON
サイズ
—
キー数
—
ネストの深さ
—

JSON整形ツールの使い方

このJSON整形ツールは、貼り付けた瞬間にJSONを検証して見やすく整形します。APIのレスポンスを読む、設定ファイルを直す、テストデータを整えるといった作業が、何もインストールせずにできます。

  1. 入力ボックスにJSONを貼り付けるか、サンプルを読み込むで試してみます。
  2. インデントを選びます:スペース2つ(JavaScriptで一般的)、スペース4つ(PythonやJavaで一般的)、またはタブ。
  3. 読みやすくするなら整形、できるだけ短くするなら圧縮を選びます。
  4. コピーを押すか、.jsonをダウンロードでファイルとして保存します。

JSONが壊れている場合は、出力欄の代わりにエラーメッセージが表示され、行番号と列番号、そして正確な位置にキャレット(^)を付けた抜粋が示されます。

よくあるJSONのエラーと直し方

JSONはJavaScriptに似ていますが、ルールはずっと厳格です。「無効なJSON」エラーの多くは次のミスが原因です。

無効有効理由
{'name': 'Ana'}{"name": "Ana"}文字列とキーにはダブルクォートが必要です。
{name: "Ana"}{"name": "Ana"}キーは引用符で囲む必要があります。
[1, 2, 3,][1, 2, 3]最後の要素のあとにカンマは置けません。
{"a": 1 "b": 2}{"a": 1, "b": 2}要素はカンマで区切ります。
{"n": 007}{"n": 7}数値の先頭に0は付けられません。
{"ok": True}{"ok": true}true、false、null は小文字です。
// comment(削除)コメントはJSONの一部ではありません。

エラーがある行を指していても、本当の原因はその直前にあることがよくあります。たとえばカンマの抜けは、パーサーが次の値に到達したときに初めて検出されます。

整形の仕組み

このツールはJSONの標準規格(RFC 8259)に従って、テキストを1文字ずつ読み進めます。読みながら整形済みの出力を組み立て、最初にルール違反があった箇所で止まります。値をJavaScriptの数値に変換しないため、64ビットIDのような非常に大きな数や長い小数も書いたとおりに保持され、\u00e9 のようなエスケープシーケンスもそのまま残ります。

出力の下の数値は、結果のサイズ、すべてのオブジェクトのキー数、最も深い入れ子の階層を示します。深い入れ子は機械にとっては問題ありませんが、構造が必要以上に複雑になっているサインかもしれません。

整形と圧縮、どちらを使う?

同じオブジェクトを両方のスタイルで表すと次のようになります。

{"id":7,"tags":["a","b"]}

{
  "id": 7,
  "tags": [
    "a",
    "b"
  ]
}

Webではgzipやbrotliの圧縮がすでに空白をよく縮めるため、圧縮(minify)が効くのは主に保存容量の制限やリクエストサイズで、ダウンロード速度への影響は小さめです。

プライバシーと制限

JSONはブラウザのタブ内だけで処理され、アップロードや記録は一切ありません。数メガバイトのファイルも問題なく扱えますが、非常に大きな入力は遅いスマホでは少し時間がかかります。それでも、必要のないときは本物のパスワードや秘密鍵を、このサイトを含むどのWebサイトにも貼り付けないようにしましょう。

よくある質問

JSONをオンラインで整形するには?

入力欄にJSONを貼り付けてください。すぐにチェックされ、スペース2つで整形されます。好みでスペース4つやタブに切り替え、結果をコピーするか .json ファイルとしてダウンロードできます。

JSONが無効になるのはなぜですか?

よくある原因は、ダブルクォートではなくシングルクォートを使っている、最後の要素の後にカンマがある、要素間のカンマが抜けている、コメントがある、キーがクォートで囲まれていない、などです。エラーメッセージに最初の問題の行と列が表示されます。

JSONの圧縮(minify)とは?

文字列の中以外にある空白と改行をすべて取り除くことです。データはまったく同じままファイルが小さくなるので、API、設定値、保存に便利です。

JSONではコメントや末尾のカンマは使えますか?

使えません。標準のJSON(RFC 8259)はどちらも認めていません。JSONCやJSON5を受け付けるツールもありますが、ブラウザや多くのAPIが使う厳密なパーサーでは拒否されます。

JSONはサーバーに送信されますか?

いいえ。解析と整形はすべてJavaScriptでブラウザ内で行われます。データが端末の外に出ることはないのでAPIキーや顧客データも安全ですが、秘密情報の共有はできるだけ避けてください。