JSONフォーマッタ
JSON文字列を貼り付けて、妥当性のチェック、整形表示、および基本的な構造メトリクスの取得が可能です。
このJSONフォーマッターの使い方
- 1 JSON入力フィールドにJSONを貼り付ける
JSON入力フィールドにJSON文字列を貼り付けるか、直接入力してください。
- 2 バリデーションを確認する
ステータス結果には、入力が有効なJSONであるか、またはパースエラーが表示されます。
- 3 整形された出力を確認する
有効なJSONは、整形済み出力セクションに2スペースのインデントで整形されます。
- 4 構造メトリクスを確認する
合計キー数と最大ネスト深度を使用して、ドキュメント構造を把握します。
このJSONフォーマッターの仕組み
このツールは、ブラウザ標準の JSON.parse を使用して入力を検証し、JSON.stringify でインデントを付けて整形された出力を生成します。また、解析された構造を走査して、キーの総数をカウントし、最大ネスト深度を測定します。
JSON.parse(input) → JSON.stringify(parsed, null, 2) 入力: {"name":"test","value":42} → 2スペースのインデント、2つのキー、深度1で整形。
入力 {"a":1,"b":[2,3],"c":{"d":4}} → キー数 4、深さ 2。ネストされたオブジェクト c が深さを1レベル追加します。
無効な入力 {"key": undefined} はバリデーションに失敗します。JSONに undefined は存在しません。null を使用するか、キーを省略してください。
- ✓ 入力は有効なJSONである必要があります(JavaScriptオブジェクトや末尾のカンマは使用できません)。
- ✓ 入力サイズが大きい場合、ブラウザのパフォーマンスに影響する可能性があります。
- このツールはブラウザ内でのみ動作します。データがサーバーに送信されることはありません。
- RFC 8259 — JavaScript Object Notation (JSON) データ交換形式 — JSONの構文とデータモデル
- MDN — JSON.parse() — ブラウザのJSONパース動作
JSONバリデーションについて
JSON (JavaScript Object Notation) はJavaScriptのオブジェクトリテラル構文から派生したものですが、より厳格な独立したデータ形式です。有効なJSONでは、キーと文字列値を二重引用符で囲む必要があり、末尾のカンマ、コメント、単一引用符は使用できません。パーサーは文字列を1文字ずつ読み取って解析ツリーを構築します。カンマの欠落、エスケープされていない引用符、無効な数値などの構文エラーが発生すると、特定のエラーメッセージと位置を表示してバリデーションが失敗します。よくある間違いとして、配列の最後の要素やオブジェクトのプロパティの後の末尾のカンマは無効であり、JavaScript形式のコメント(// または /* */)も使用できません。数値は、0自体を除いて先頭に0を置くことはできず、文字列には有効なエスケープシーケンスを使用する必要があります。
開発者向けのJSON整形の具体的なユースケース
開発者は、APIレスポンスのデバッグ、設定ファイルの検査、ドキュメント用データの準備にJSONフォーマッタを使用します。本番APIの軽量化(Minify)されたJSONは読みにくいですが、整形(Pretty-print)することで構造が明確になり、不正な形式や予期しないフィールドを見つけやすくなります。キーの数やネストの深さといった構造メトリクスは、複雑さを評価し、パフォーマンス低下の原因となる過度なネストを特定するのに役立ちます。テストやフィクスチャを作成する際、整形されたJSONはバージョン管理での差分確認やレビューが容易になります。バリデータは、リクエスト送信や設定ファイルのコミット前に構文エラーを素早く検出し、デバッグの手間を削減します。
よくある質問
JSON5やJSONCに対応していますか? +
いいえ。標準のJSON (RFC 8259) のみに対応しています。コメントや末尾のカンマはエラーになります。
サイズ制限はありますか? +
厳密な制限はありませんが、非常に大きなJSON文字列はブラウザの動作を遅くする場合があります。
これは見積もりとして利用し、重要な決定については専門家に確認してください。
入力内容は、将来の機能で明示されない限り、ブラウザ内に保持されます。
関連する計算機
関連する計算機を確認して、結果や前提条件を比較しましょう。