JSONフォーマッター・バリデーター
JSON整形・圧縮・バリデーション・分析ツール
JSON入力
フォーマット設定
[キーをソート]は[整形]と[圧縮]の両方に使います。入力のたびのチェックをオフにすると、[検証][整形][圧縮]などを押したときだけ構文を確認します。
整形結果
JSON分析
0 bytes
ファイルサイズ
0
文字数
0
行数
0
階層の深さ
構造情報
エラー情報
JSONを入力して整形・検証を実行してください
JSONツール
JSONパス検索
JSONPath式で値を検索し、一致した件数・パス・値を表示します。
データ型統計
スキーマ生成
サンプルJSON
JSONフォーマッター・バリデーターについて
自動整形
2・4スペースまたはタブでインデントを付け直します。数値の表記やキーの順番は変えません
圧縮機能
空白と改行を取り除いて1行にします
構文検証
構文エラーの位置(行・列)と原因の説明を表示します
JSONパス検索
JSONPath式(ワイルドカード・再帰・フィルター)で値を検索し、パスと値を表示します
詳細分析
キー・配列・オブジェクトの数、値の型ごとの件数、階層の深さを集計します
スキーマ生成
型と構造を表す簡易的なJSON Schema(draft-07)を作ります
整形・検証・各機能の仕様
- 整形・圧縮は入力の文字列をそのまま組み直すため、数値の表記(1.0、桁数の多い整数など)、キーの順番、重複したキーは変わりません。[キーをソート]をオンにすると、各オブジェクトのキーを文字コード順に並べ替えます(同じキーどうしは元の順番のまま)。
- 構文エラーは、エラーの位置(行・列)と原因の説明を表示し、あわせてブラウザーのメッセージ(英語の場合があります)も表示します。原因がそれより前の行にある場合もあります。
- 重複したキーや、JavaScriptの数値で正確に表せない整数(9,007,199,254,740,991を超えるもの)がある場合は、入力欄の下に注意を表示します。分析・型の集計・JSONPath検索・スキーマ生成はJavaScriptの値として読み込んだ結果を使うため、重複したキーは最後の値、大きな整数は丸めた値になります。
- JSONPath検索は JSONPath-Plus を使います。$.users[0].name のような単純なパスのほか、$..price(再帰)、$.users[*].name(ワイルドカード)、$.items[?(@.price < 10)](フィルター)が使えます。一致した値ごとに、正規化したパス($['users'][0]['name'] の形)を表示します。
- スキーマ生成は、入力したJSONの型と構造を表す簡易的なスキーマ(draft-07)を作ります。オブジェクトのキーはすべて必須になり、配列の中のオブジェクトは全要素にあるキーだけを必須にします。整数は integer、小数を含む数値は number とし、値の範囲や文字数の条件は付けません。配列は全要素の型をまとめ、型が混在する場合は anyOf にします。必要に応じて条件を書き足してください。
- ファイルサイズ・文字数・行数は入力欄の内容を数えます。読み込めるファイルは10MBまで(UTF-8として読み込み)、保存するファイル名は formatted.json です。
使用例
- API開発 - APIレスポンスの整形・検証・分析
- 設定ファイル - アプリケーション設定ファイルの構文チェック
- データ変換 - 外部システムからのJSONデータ処理
- デバッグ作業 - JSON形式のログファイル・レスポンス分析
- データベース - NoSQLデータベースのドキュメント整形
- 教育・学習 - JSON形式の理解・構造分析
JSON形式ガイド
基本構造
{"key": "value"}
オブジェクトは波括弧で囲む
配列
["item1", "item2"]
配列は角括弧で囲む
データ型
"文字列", 123, true
文字列・数値・真偽値
ネスト
{"user": {"name": "太郎"}}
オブジェクトの入れ子構造
ブラウザ内で処理
処理はブラウザ内で行い、入力したJSONをサーバーへ送信しません。