JSON Schema を用いて、JSON データの構造・型・必須項目を簡単に検証できます。 API 開発や設定ファイルのチェックに便利です。
JSON Schema 検証ツールとは?
本ツールは、JSON Schema(JSON スキーマ)を用いて、お手持ちのJSONデータが正しい構造・型・必須項目に従っているかをリアルタイムで検証できる開発者向けオンラインツールです。 Ajv(Another JSON Schema Validator)ライブラリをベースにしており、ドラフト7までの主要な仕様に対応。構文チェックだけでなく、複雑なバリデーションエラーを詳細に特定し、修正をスムーズにします。
こんなシーンで便利です
API開発のリクエスト検証
フロントエンドから送信するJSONがバックエンドの定義(スキーマ)と一致しているか、型や必須項目の漏れを事前にチェックできます。
設定ファイルの構文エラー特定
複雑なJSON設定ファイルの記述ミスを特定。スキーマに基づいたエラー箇所をパス形式(instancePath)で分かりやすく表示します。
サンプルデータの妥当性確認
ドキュメント用に作成したサンプルJSONが、定義した仕様通りに正しく記述されているかを一瞬で検証可能です。
JSON学習・動作テスト
JSON Schemaの書き方を学びたい時、サンプルを読み込んでプロパティを書き換えることで、即座に検証結果の変化を確認できます。
使い方は簡単 3ステップ
- 「JSON Schema」欄に定義(ルール)を入力します。
- 「JSON Data」欄に検証したいデータを貼り付けます。
- 「スキーマ検証を実行」ボタンをクリックし、結果を確認します。
※「サンプルを読み込む」ボタンから、具体的な書き方の例を確認することもできます。
ご利用時の注意点
- JSON形式の遵守:入力データは有効なJSON形式である必要があります。カンマの過不足などがあると「構文エラー」が表示されます。
- 対応ドラフト:基本的にDraft-07に準拠した Ajv バリデータを使用しています。
- 書式整形機能:各エディタ右上の「中括弧ボタン」を押すと、入力したJSONを美しく整形(フォーマット)できます。
JSON Schema 主要キーワード・型定義一覧
バリデーションでよく使われる標準的な型とキーワードの解説です。
| 型・キーワード | 検証内容 | 具体的なチェック項目 |
|---|---|---|
| string | 文字列の検証 | 最小/最大文字数 (minLength/maxLength)、正規表現 (pattern) |
| number / integer | 数値・整数の検証 | 範囲指定 (minimum/maximum)、倍数指定 (multipleOf) |
| boolean | 論理値の検証 | true または false の厳密な型チェック |
| object | オブジェクト構造 | 必須項目 (required)、プロパティ定義 (properties) |
| array | 配列の検証 | 要素数 (minItems/maxItems)、重複禁止 (uniqueItems) |
| null | ヌル値の許容 | 値が null であることの検証(type: ['string', 'null'] 等で使用) |
| enum | 列挙型の指定 | 定義されたリスト内の値と一致するかをチェック |
| format | 特定の形式 | email, date-time, ipv4, uri などの標準フォーマット検証 |
【開発者向けの補足:バリデーションエラーの読み方】
本ツールで採用している Ajv エンジンは、エラー発生時に instancePath(エラー箇所のJSONパス)と message を返します。 例えば must have required property 'id' というエラーは、定義された required リストにある項目がデータ側に欠落していることを示しています。
【SEO・技術的トピック】
JSON Schema は API の I/F 定義だけでなく、VSCode の設定補完、OpenAPI (Swagger) 仕様書との連携、MongoDB のスキーマ検証など、モダンな開発現場で広く採用されています。 当バリデータを利用することで、ランタイムエラーを未然に防ぎ、TypeScript 等での型定義と整合性の取れたデータ構造を担保できます。
※当ツールは Draft-04 / Draft-06 / Draft-07 等の主要な仕様をサポートしていますが、カスタムキーワードや外部リファレンス($ref)の解決には一部制限がある場合があります。
APIスキーマからTypeScript型定義の生成効率を高める実践的バリデーション
JSON Schemaを用いてデータの妥当性を検証した後のステップとして、フロントエンドからバックエンドまで一貫した静的型付けや自動化プロセスに連携するための高度な開発手法を解説します。
スキーマ駆動開発におけるJSON SchemaからTypeScript型定義への自動変換
手動での型定義の二重管理を防ぐため、検証済みのJSON Schemaからjson-schema-to-typescriptなどのライブラリを用いて、TypeScriptのインターフェースや型定義を自動生成してください。
これにより、API仕様書の変更が即座に静的型チェックに反映されるため、フロントエンド実装時におけるコンパイルエラーの早期発見と開発工数の大幅な削減が可能になります。
CIやCDパイプラインと連携したJSON設定ファイルの自動バリデーション自動化
GitHub ActionsなどのCI/CDパイプラインにおいて、アプリケーションの挙動を制御するJSON設定ファイルの検証を自動化することがプロジェクトの堅牢性向上に繋がります。
デプロイ前にajv-cliなどのコマンドラインツールを組み込み、本ツールで検証したスキーマ定義をコミットフックやビルドプロセスに適用することで、設定ミスのまま本番環境へ反映される障害を100%未然に防ぐことができます。
結合テストにおけるAPIモックデータ生成ツールとの連携と網羅性の担保
定義したJSON Schemaの検証をパスした後は、json-schema-fakerなどのツールと組み合わせることで、スキーマ定義に準拠したダミーのモックデータをランダムに大量生成できます。
境界値や異常系のデータを自動生成させて結合テストのテストケースに流し込むことで、フロントエンドコンポーネントの表示崩れや、予期せぬNULLデータによるクラッシュを検証段階で完全に網羅できます。
よくある失敗と対策
JSON構文エラー(SyntaxError)をスキーマバリデーションエラーと混同する
末尾の不要なカンマやダブルクォーテーションの閉じ忘れ、コメント(//)の記述など、そもそもJSONフォーマット(RFC 8259規格)を満たしていない段階で検証を実行し、文法エラーの原因特定に時間を浪費する失敗パターンです。
💡 対策・解決策を見る▼
JSON Schemaのバージョン(Draft規格)とバリデータエンジンの仕様ミスマッチ
Draft-04、Draft-06、Draft-07、Draft 2019-09(仕様変更)など、利用しているJSONスキーマの定義バージョンと、本ツール(Ajv準拠)やAPIサーバーの実装エンジンのサポート仕様が一致せず、予期せぬ判定となるエラーです。
💡 対策・解決策を見る▼
required(必須プロパティ)の階層構造および定義場所の記述ミスによる検証漏れ
required項目をpropertiesオブジェクトの内部に記述してしまったり、ネスト(階層化)された子オブジェクトの必須項目を指定する際に、親のobject階層をスキップしてルート直下に記述してしまい、バリデーションが正常に機能しないバグです。
💡 対策・解決策を見る▼
additionalProperties(未定義プロパティの許容制御)の未設定による未知のデータのすり抜け
APIリクエストなどでpropertiesに定義していない不正なキーやデータ(未知のフィールド)が送信されても、デフォルトではエラーを検知せず通過させてしまい、バックエンドのデータベースやロジックでランタイムエラーを引き起こす不具合です。
💡 対策・解決策を見る▼
よくある質問(FAQ)
Q.入力したJSONデータやスキーマが外部に漏洩する心配はありませんか
A. 心配ありません。当ツールは完全ローカル処理型の安全設計を採用しています。入力されたデータはサーバーへ一切送信されず、データベースへの保存も行われません。すべてのバリデーション処理はユーザーのブラウザ内だけで完結し、ページを閉じれば即座にデータは完全消去されるため情報漏洩のリスクがありません。
Q.検証結果で表示されるinstancePathとは何を意味していますか
A. 検証エラーが発生したデータの場所を示すJSONパスです。ルート階層からエラーが起きたプロパティまでの位置をスラッシュ区切りで正確に特定できるため、複雑にネストされた階層構造のデータであっても修正すべき記述ミスのある箇所を一瞬で見つけ出すことができます。
Q.記述したJSONやスキーマのインデントを自動で綺麗に整える機能はありますか
A. はい、あります。各入力エリアの右上に配置されている中括弧ボタンをクリックすることで、入力されたJSONデータを即座に美しくフォーマットして書式を整形できます。これにより、カンマの過不足や括弧の閉じ忘れなどの初歩的な構文エラーを視覚的に見つけやすくなります。
Q.オブジェクトの中に定義していない未知のプロパティをエラーにできますか
A. はい、可能です。JSON Schemaの定義内で対象のオブジェクトと同階層にadditionalPropertiesキーワードを追加し、その値をfalseに設定して検証を実行してください。これにより、propertiesで明示的に定義していない不正なキーや未知のフィールドが含まれている場合にバリデーションエラーを検知できます。
Q.スマートフォンやタブレットのブラウザ環境からでもデータの検証は可能ですか
A. はい、可能です。当ツールはスマートフォンやタブレット端末のブラウザ環境にも対応したレスポンシブ設計となっています。外出先やPCがない環境でも、APIのリクエストデータや設定ファイルのJSON構造、型定義、必須項目のバリデーションチェックをリアルタイムに実行できます。
あなたの声で、
このツールをより鋭く。
「こんな機能が欲しい」「ここを直してほしい」といったご意見や、新しいツールのリクエストを募集しています。エンジニアが直接目を通し、開発の参考にさせていただきます。