JSON整形・構文チェックツール

JSON整形・JSON5フォーマッターとは?

JSONを見やすく整形したい、JSONの構文エラーを確認したい、コメント付きJSONを壊さずにフォーマットしたい場合に使うオンラインツールです。標準JSONだけでなく、JSON5のシングルクォート、末尾カンマ、引用符なしキー、JSONCのコメント保持にも対応しています。

JSON整形ツールの使い方

  1. 入力欄にJSON、JSON5、またはコメント付きJSONを貼り付けます。
  2. 出力形式から標準JSON、JSON5、コメント保持(JSONC)を選びます。
  3. インデントサイズを2スペース、4スペース、タブから選んで、読みやすい形に整形します。
  4. JSONを1行にしたい場合は「圧縮/Minify」をクリックし、空白と改行を削除します。

一般的な使用例

  • オンラインでのJSONフォーマットチェック: APIのレスポンスが正しいかどうかわからない時は、ここに貼り付けるだけで厳密な検証が行われ、「JSON解析エラー」の解決に役立ちます。
  • コメント付き設定ファイルの解析: 現在、多くの設定ファイル(VS Codeの設定やtsconfig.jsonなど)にはコメントが含まれています。コメント付きJSONの解析方法がわからない場合でも、「コメント保持」モードを選択すれば、情報を失うことなく安全にフォーマットできます。
  • フロントエンドコードの極限圧縮: 本番環境へのデプロイ前に、ネットワークの読み込み速度を最適化するため、すべての余分なスペースと改行を削除してJSONを1行に圧縮する必要があります。
  • 構文およびエスケープ問題の迅速なトラブルシューティング: コードに引用符のエスケープ問題がある場合や、非標準の文字列に遭遇した場合は、JSON5仕様を利用してシングルクォーテーションや引用符なしのキー名を簡単に処理できます。

当ツールの強み

  • ブラウザ内で処理:JSONの解析と整形はローカルで実行され、入力内容は変換のためにサーバーへアップロードされません。
  • JSON5/JSONC対応:末尾カンマ、シングルクォート、コメント付きJSONを扱えるため、設定ファイルの確認に向いています。
  • 用途に合わせた出力:2スペース、4スペース、タブのインデントや、1行圧縮を選べます。

JSON デバッグチェックリスト

厳格な JSON と JSON5

多くの API は厳格な JSON のみを受け付けます。キー名と文字列は二重引用符で囲み、コメントは含めないでください。JSON5 は設定ファイルや明示的に対応しているツール向けです。

末尾のカンマ

末尾のカンマは JSON5 では使えますが、JSON.parse や多くのバックエンド API では拒否されます。本番サービスへ送る前に標準 JSON モードで確認してください。

設定ファイルのコメント

VS Code、tsconfig、その他 JSONC 形式の設定ファイルを整形する場合は、説明コメントを消さないようにコメント保持モードを使ってください。

大きいデータや機密データ

整形はブラウザ内でローカル実行されるため API レスポンスやログの確認に向いていますが、共有端末や信頼できない端末では本番の秘密情報を貼り付けないでください。

よくある質問

JSONとは何ですか?

JSON(JavaScript Object Notation)は、軽量なデータ交換フォーマットです。人間が読み書きしやすく、機械が解析・生成しやすい形式です。JSONはJavaScriptオブジェクトリテラル構文に基づいていますが、言語に依存しないため、ほとんどすべてのプログラミング言語で使用されています。

JSON5とは何ですか?標準JSONとの違いは?

JSON5は標準JSONの構文拡張であり、人間がより読み書きしやすいように設計されています。厳格な標準JSONとは異なり、JSON5は単一行や複数行のコメント、文字列のシングルクォーテーション、引用符なしのキー名、配列やオブジェクトでの末尾のカンマ、16進数、そしてInfinityやNaNなどの特殊な数値をサポートしています。

JSON5 / JSONCのフォーマット時にコメントを保持できますか?

はい!当ツールは専用の「コメント保持 (JSONC)」モードを備えています。ロスレス構文木パーサーを利用し、単一行の `//` やブロックレベルの `/* ... */` コメントを完全にそのまま維持しながら、JSONコードをインデントして整形します。これはtsconfig.jsonやsettings.jsonなどの設定ファイルに非常に役立ちます。

なぜJSONにコメントを追加できるのですか?

厳密に言えば、標準のJSON仕様(RFC 8259)は、データ交換の効率と純粋性を保つため、いかなる形式のコメントもサポートしていません。しかし現代の開発では、JSONは設定ファイル(VS Codeの設定やtsconfig.jsonなど)として広く使用されており、開発者は設定項目を説明するためのコメントを強く必要としています。そのため、コミュニティからJSONC(JSON with Comments)やJSON5といった拡張仕様が生まれました。当ツールを使えば、構文エラーを引き起こすことなく、これらコメント付きのJSONファイルを完璧に解析・フォーマットできます。

JSONとXMLの違いは?

JSONとXMLはどちらもデータ交換フォーマットですが、JSONはより簡潔で読みやすいです。JSONは軽量でネイティブJavaScriptオブジェクトに直接変換でき、XMLよりも解析が速いです。XMLはコメント、名前空間、メタデータをサポートし、ドキュメント指向のデータにより適しています。

一般的なJSON構文エラーは?

一般的なJSONエラーには、末尾のカンマ([1,2,3,])、文字列の単一引用符('value'の代わりに"value"を使用)、引用符のないキー({key: "value"}の代わりに{"key": "value"}を使用)、コメントの使用(標準JSONはコメントをサポートしていません)、特殊文字のエスケープ忘れなどがあります。当オンラインバリデーターはこれらのエラーをハイライトし、ワンクリックで修正するのに役立ちます。

JSONがサポートするデータ型は?

JSONは6つのデータ型をサポートしています:文字列(二重引用符で囲む)、数値(整数または浮動小数点)、ブール値(trueまたはfalse)、null、配列(順序付きリスト)、オブジェクト(キー/値ペア)。日付や関数などの型はネイティブでサポートされておらず、文字列として表現する必要があります。

JavaScriptでJSONを解析する方法

JavaScriptでは、JSON.parse()とJSON.stringify()メソッドを使用できます:

JavaScript

const obj = JSON.parse(jsonString);

Python

import json
data = json.loads(json_string)

Go

json.Unmarshal([]byte(str), &v)

JSONフォーマットと圧縮の違いは?

JSONフォーマット(美化)は、インデント、改行、スペースを追加して、人間が読みやすくします。JSONの圧縮は、すべての不要な空白を削除してファイルサイズを縮小し、ネットワーク転送を最適化します。開発時にはフォーマット、本番環境では圧縮されたJSONを使用してください。

なぜJSONはAPIで広く使われているのですか?

JSONは軽量で、解析が速く、言語間で読み書きが簡単なため、APIで好まれています。JavaScriptオブジェクトに直接マッピングされるため、Webアプリケーションに最適です。ほぼすべてのプログラミング言語にはJSONライブラリがあり、REST APIの標準データ形式になっています。

JSONを検証する方法

JSONの検証は、構文的に正しく、オプションで特定のスキーマに準拠していることを確認します。ほとんどの言語の組み込みJSONパーサーで解析を試み、例外をキャッチすることで検証できます。より厳密な検証には、必要なフィールドとデータ型を定義するJSON Schemaを使用してください。