JSONフォーマッタ
JSON文字列を貼り付けて、妥当性のチェック、整形表示、および基本的な構造メトリクスの取得が可能です。
このJSONフォーマッターの使い方
- JSON入力フィールドにJSONを貼り付ける
JSON入力フィールドにJSON文字列を貼り付けるか、直接入力してください。
- バリデーションを確認する
ステータス結果には、入力が有効なJSONであるか、またはパースエラーが表示されます。
- 整形された出力を確認する
有効なJSONは、整形済み出力セクションに2スペースのインデントで整形されます。
- 構造メトリクスを確認する
合計キー数と最大ネスト深度を使用して、ドキュメント構造を把握します。
この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オブジェクトや末尾のカンマは使用できません)。
- ✓ 入力サイズが大きい場合、ブラウザのパフォーマンスに影響する可能性があります。
- このツールはブラウザ内でのみ動作します。データがサーバーに送信されることはありません。
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文字列はブラウザの動作を遅くする場合があります。