JSON整形・チェック
JSONを貼り付けるだけで見やすく整形します。間違いがある場合は、どのあたりが原因かも表示します。RFC 8259・ECMA-404準拠で判定します。
本ツールの根拠
- ・RFC 8259(IETF Standards Track・2017年12月): The JavaScript Object Notation (JSON) Data Interchange Format
- ・ECMA-404(2nd edition・2017年12月): The JSON Data Interchange Syntax
- ・json.org公式: JSONの基本構造(オブジェクト/配列)と値(string/number/boolean/null)
- ・MDN Web Docs: JavaScript標準のJSON.parse / JSON.stringify API
このツールでできること
- ・整形(スペース2・4・タブ): APIレスポンス・設定ファイルを読みやすい形に変換
- ・1行圧縮: 改行・空白を削除し最小サイズに圧縮(環境変数・送信用)
- ・文法チェック: 標準JSON仕様(RFC 8259)に従ってバリデーション
- ・エラー位置表示: 「N行目・M文字目のあたり」と原因箇所を提示
- ・よくある原因のヒント: 末尾カンマ・シングルクォート・コメント混入などを示唆
- ・端末内処理: 入力したJSONはサーバーに送信されません(クライアントJavaScriptのみで動作)
使い方
- JSONを「JSONを貼り付け」欄に貼り付けます
- 整形スタイル(スペース2・4・タブ・1行圧縮)をボタンで選びます
- 下に整形結果が表示されます。エラーの場合は赤い枠で位置と原因が出ます
- 「結果をコピー」でクリップボードに転送できます
整形スタイルの使い分け
スペース2: 一般的な配布・ドキュメント向け。GitHub・npm・多くのリポジトリで標準。
スペース4: Pythonライクな深いインデント。ネストの深いJSONを横方向に読み解きたいとき。
タブ: エディタごとのタブ幅で表示したいとき。Go言語の公式フォーマットもタブベース。
1行圧縮: 環境変数・cURLボディ・通信量削減・Base64前処理など、サイズが重要なとき。
こんなときに便利
- ① APIレスポンスを読む: REST APIから返ってきた1行のJSONを整形して構造を把握。
- ② 設定ファイルをチェック: package.json / tsconfig.json / Cloudflare wrangler.jsonc などを編集後に文法確認。
- ③ Webhookペイロード解析: Stripe / GitHub / Slack のWebhookで送られたJSONを整形して中身を確認。
- ④ ログのJSON解析: Cloudwatch / Datadog の構造化ログを読みやすい形に変換。
- ⑤ 環境変数への圧縮: Cloudflare Secrets / Vercel Env / GitHub Actions Secrets に1行で入れたいとき。
- ⑥ 送信前バリデーション: cURLやfetchで送る前に「正しいJSONか」を確認。
JSON周辺仕様の整理
| 仕様 | 策定 | 特徴 |
|---|---|---|
| RFC 8259 | IETF 2017-12 | JSON のInternet Standards Track版。RFC 7159を廃止。 |
| ECMA-404 | ECMA 2017-12(2nd) | JSON データ交換構文の標準。RFC 8259と互換。 |
| JSON Schema | json-schema.org | JSONの構造を記述する仕様。drafts 2020-12。 |
| JSON-LD | W3C Recommendation | Linked Data の表現形式。本ページもJSON-LDで構造化データを埋込。 |
| JSON5 | json5.org | コメント・末尾カンマ・シングルクォートを許可した拡張。標準JSONではない。 |
| JSON Lines | jsonlines.org | 1行1JSONのストリーミング形式。.jsonl / NDJSON。 |
注意事項
- ・本ツールはRFC 8259・ECMA-404に準拠した標準JSONの整形・バリデーションです。JSON5・JSONCなど拡張形式(コメント・末尾カンマ許可)は標準外のためエラーになります。
- ・整形・チェックは全て端末内で完結し、入力したJSONがサーバーに送信されることはありません(ブラウザ開発者ツールでも確認可能)。
- ・JSON.parse()のメモリ上限はブラウザの実装に依存します。数百MB以上の巨大JSONは扱えないことがあります。
よくある質問
Q. JSONとは何ですか?
A. ECMAScriptの記法から派生した軽量のデータ交換形式で、RFC 8259とECMA-404で標準化されています。オブジェクト{}と配列[]を基本構造とし、文字列・数値・真偽値・nullを値として使えます。
Q. JSONにコメントは書けますか?
A. RFC 8259・ECMA-404の標準JSONはコメントを許可していません。`//`や`/* */`を書くとパースエラーになります。コメントを使いたい場合はJSON5・JSONC・YAMLなどの検討が必要です。
Q. シングルクォートは使えますか?
A. 標準JSONはダブルクォートのみ許可されています。文字列もキーも全てダブルクォートで囲む必要があります。シングルクォートはSyntax Errorになります。
Q. 末尾カンマは許可されますか?
A. 標準JSONでは配列やオブジェクトの最後の要素の後ろにカンマを置けません。trailing commaはエラーになります。これはYAML・JavaScript・JSON5と異なる点です。
Q. 整形したデータはどこに送信されますか?
A. 送信されません。本ツールは全てブラウザ内のJavaScriptで処理しており、入力したJSONがサーバーに送信されることはありません。ブラウザの開発者ツールでも確認できます。
Q. 巨大なJSONも扱えますか?
A. ブラウザのJSON.parse()のメモリ上限まで扱えます。数MB程度なら問題なく動きますが、数十MB以上の場合は端末の性能によって動作が遅くなります。
Q. 1行圧縮はいつ使いますか?
A. 環境変数・1行しか入れられない設定欄に貼るとき、通信量を削減したいとき、Base64エンコード前の前処理などに使います。改行・スペースが全て削除されます。
Q. エラー位置の行・列はどう読み取ればよいですか?
A. 「3行目・15文字目のあたり」と表示されます。エディタの該当箇所を確認し、その前後で末尾カンマ・引用符・括弧の閉じ忘れがないかを確認してください。
Q. JSON SchemaやJSON-LDとは違うのですか?
A. 本ツールは標準JSONの整形・バリデーションです。JSON Schemaは構造の制約定義、JSON-LDはLinked Dataの表現です。いずれも本ツールで整形可能なJSON文字列で記述されます。
関連ツール
- URLエンコード・Base64
JSONを送信前にURLエンコードしたり、Base64に変換するときに。
- CSV → Markdown
CSV形式の表データをMarkdownの表に変換。JSON配列の補完にも。
- ハッシュ計算
JSONペイロードのSHA-256やMD5を計算。Webhook署名検証の確認用。
- 正規表現チェック
JSON文字列内の値を抽出したいときの正規表現テスト。
詳しく知りたい方へ - 記事一覧
- JSON vs YAML vs TOML 設定ファイル形式の使い分け
3つの主要な設定ファイル形式の長所短所を一覧で比較。読みやすさ・コメント可否・型表現・採用事例まで。
JSON周辺仕様クラスタ
- ① RFC 8259 (IETF): 2017年12月公開のInternet Standards Track。RFC 7159を廃止し、JSONテキストはUTF-8でエンコードすること、name/value重複時の挙動などを明文化。
- ② ECMA-404 (2nd edition): ECMA Internationalによる JSON Data Interchange Syntax の標準。文法と構文のみ規定し、意味論はRFC 8259が補完する関係。
- ③ JSON Schema: JSONの構造的制約を記述する仕様(json-schema.org)。required・type・enum・pattern などでバリデーションを定義。OpenAPI・JSON Schema 2020-12が主流。
- ④ JSON-LD: W3C Recommendationのリンクトデータ表現。@context・@idでセマンティック情報を付加。本ページの構造化データもJSON-LDで埋込。
- ⑤ JSON5: コメント・末尾カンマ・シングルクォート・引用符なしキーを許可した拡張形式(json5.org)。標準JSONではないため通常のパーサーは受け付けない。
- ⑥ JSON Lines / NDJSON: 1行1JSONのストリーミング形式(jsonlines.org)。ログ・大規模データ処理で標準的に使われ、行単位でパースできる利点がある。