JSON フォーマッター&バリデーター
JSONデータをオンラインでフォーマット、検証、整形します。シンタックスハイライトとエラー検出機能付き。
スマートフォーマット
インテリジェントなインデントとシンタックスハイライトで、乱雑なJSONを自動的に整形します。
圧縮&縮小
本番デプロイやAPI転送用にJSONペイロードサイズを即座に削減します。
即時検証
リアルタイム検証と正確なエラー位置レポートで、構文エラーを早期に発見します。
よくある質問
JSONフォーマッターとは何ですか?
JSONフォーマッターは、生の、縮小化された、または整形が不十分なJSONデータを受け取り、適切なインデント、改行、スペーシングを加えて再フォーマットし、人間が読みやすい形式にするツールです。ほとんどのJSONフォーマッターには検証、構文ハイライト、エラー検出も含まれており、キー並べ替え、縮小化、ツリービューによるナビゲーションなどの追加機能を備えているものもあります。当サイトの無料のオンラインJSONフォーマッターは、フォーマットと検証を1つのツールに統合し、詳細なエラーレポート付きの即時でクリーンな出力を提供します。
私のJSONが無効なのはなぜですか?
JSONは、JSON仕様の厳格な規則に違反すると無効になります。最も一般的な原因は次のとおりです: - オブジェクトまたは配列の最後の要素の後にある末尾のカンマ - オブジェクトのキーや文字列の値が二重引用符で囲まれていない - 二重引用符の代わりに使われる一重引用符(JSONでは一重引用符は有効ではありません) - 文字列内のエスケープされていないバックスラッシュや引用符などのエスケープされていない特殊文字 - undefined、NaN、Infinityなどの無効な値(JSONに相当するものはありません) - {/}や[/]が正しく対応していない、一致しない波括弧または角括弧 JSONバリデーターを使用して、構文エラーの正確な位置と性質を特定してください。ほとんどのバリデーターは、最初に見つかった問題について行、列、および説明的なエラーメッセージを報告します。
JSONとJavaScriptオブジェクトの違いは何ですか?
JSONの構文はJavaScriptのオブジェクトリテラル構文から派生したものですが、両者は同じものではありません。主な違いは次のとおりです: 1. キーは二重引用符で囲む必要があります -- JSONでは{"key": "value"}が必要ですが、JavaScriptでは{key: "value"}(引用符なし)や{'key': 'value'}(一重引用符)が許可されます。 2. 文字列の値は二重引用符を使用する必要があります -- JSONでは文字列に二重引用符のみが許可されます。JavaScriptは一重引用符と二重引用符の両方を受け入れます。 3. 末尾のカンマは禁止 -- JSONでは最後の要素の後の末尾カンマを禁止しています。JavaScriptでは許可されます。 4. データ型が限られている -- JSONは文字列、数値、ブール値、null、オブジェクト、配列のみをサポートします。JavaScriptオブジェクトには関数、undefined、Date、Map、Set、その他の特別な型を含めることができます。 5. コメント不可 -- JSONはコメントをサポートしていません。ソースコード内のJavaScriptオブジェクトにはコメントを付けることができます。 つまり、JavaScriptオブジェクトをそのまま書いてJSONと呼ぶことはできません。JSON.stringify()でシリアライズするか、厳格なJSON規則に従って記述する必要があります。
JSONにコメントを付けることはできますか?
いいえ、公式のJSON仕様(RFC 8259)はコメントをサポートしていません。JSONは最小限で言語に依存しないデータ交換フォーマットとして設計されており、パーサーを言語間でシンプルかつ一貫性のあるものに保つために、コメントは意図的に除外されました。 コメントが必要な場合の選択肢はいくつかあります: - JSONC(コメント付きJSON) -- VS Codeなどのツールが設定ファイルに使用しています。JSONCは//行コメントと/ /ブロックコメントを許可します。 - YAMLまたはTOML -- コメントをネイティブにサポートする代替の設定フォーマット。 - 規約ベースのメタデータ -- 人間が読めるメモを保存するために、JSONオブジェクトに"_comment"や"//"のようなキーを使用します。これはペイロードにデータを追加することに注意してください。 - パース前にコメントを除去する -- 厳格なパーサーにJSONを渡す前に、コメントを除去する前処理ステップを使用します。
オンラインでJSONを検証するにはどうすればよいですか?
オンラインでJSONを検証するのは簡単です: 1. JSONデータをコピーする 2. JSONバリデーターツールに貼り付ける 3. 検証またはフォーマットボタンをクリックする 4. ツールが有効なJSONを報告するか、問題の正確な場所と説明を示すエラーを表示します 優れたJSONバリデーターは次のことを行うべきです: - 公式のJSON仕様(RFC 8259)に従って構文を検証する - エラーの行番号と列番号を表示する - 何が問題かを説明する説明的なエラーメッセージを提供する - 同時にJSONをフォーマットして美化することもできる - 異なるデータ型ごとに色分けして構文をハイライトする 大きなデータや機密データの場合、多くのオンラインバリデーターはブラウザ内のクライアントサイドで全てを処理するため、データがマシンの外に出ることはありません。
縮小化されたJSONとはどういう意味ですか?
縮小化されたJSONとは、不要な空白をすべて除去したJSONです -- スペース、タブ、改行、インデントが取り除かれます。結果は単一行(または非常に少ない行数)のコンパクトなテキストになります: 縮小化されたJSONが本番環境で使用される理由はいくつかあります: - ファイルサイズの削減 -- ペイロードサイズを30〜50%以上削減できる - より高速なネットワーク転送 -- 送信データが少ないほどレイテンシが低くなる - 帯域幅コストの削減 -- トラフィックの多いAPIやモバイルアプリケーションで特に重要 トレードオフとして、縮小化されたJSONは人間には実質的に読めません。JSONプリティプリントツールを使用して、縮小化されたJSONをデバッグや検査用の読みやすい構造に再フォーマットしてください。
コマンドラインでJSONをプリティプリントするにはどうすればよいですか?
JSONをプリティプリントできるコマンドラインツールはいくつかあります: jqを使用する場合(最も人気、別途インストールが必要): Pythonを使用する場合(ほとんどのシステムに組み込み): Node.jsを使用する場合: curlを使用する場合(APIレスポンスのプリティプリント): jqツールは、色付き出力、クエリ機能、堅牢なエラー処理の点で推奨されます。
JSON Schemaとは何ですか?
JSON Schemaは、JSONドキュメントに注釈を付け、検証できるようにするボキャブラリです。JSONドキュメントが満たさなければならない構造、データ型、制約を定義します。JSONデータの契約書または仕様書のようなものと考えてください。 JSON Schemaの主な機能: - 型の検証 -- 値が文字列、数値、ブール値、配列、オブジェクト、またはnullのいずれであるかを指定する - 必須フィールド -- 特定のプロパティを必須としてマークする - 値の制約 -- 最小値/最大値、文字列パターン(regex)、許可される値(enum)を設定する - 配列の検証 -- 配列の長さ、要素の型、一意性を制御する - ネストされた検証 -- ネストされたオブジェクトと配列のスキーマを定義する - 条件付き検証 -- 他のフィールドの値に基づいて異なるルールを適用する JSON Schemaの例: JSON Schemaは、APIリクエストボディ、設定ファイル、サービス間のデータ交換契約の検証に一般的に使用されます。