JSON Schemaバリデーター

JSONデータがJSONスキーマに準拠しているかを詳細に検証。エラー箇所を明確に表示し、データの品質を確保できます。

JSONデータ

ヒント: 検証したいJSONデータを入力してください。整形ボタンでインデント付きに整形できます。

JSONスキーマ

ヒント: JSON Schema Draft 4/7に準拠したスキーマを入力してください。type、required、propertiesなどで検証ルールを定義できます。

このツールの使い方

  1. JSONデータ入力: 検証したいJSONデータをテキストエリアに貼り付けます
  2. スキーマ入力: JSONスキーマを2つ目のテキストエリアに入力します
  3. 検証実行: 「検証を実行」ボタンを押すと、検証結果が表示されます
  4. エラー確認: エラーがある場合、詳細な箇所とメッセージが表示されます
  5. 整形機能: 各エリアの「整形」ボタンでJSONを読みやすく整形できます
  6. サンプル利用: サンプルリンクから典型的なパターンを試せます

このツールの特徴

  • 包括的な検証: 型、必須項目、値の範囲、パターンなど幅広い検証項目に対応
  • 詳細なエラー表示: エラーの発生箇所とメッセージを分かりやすく表示
  • リアルタイム整形: JSONデータとスキーマをワンクリックで整形
  • 複数のサンプル: 基本的な例からエラーを含む例まで用意
  • Draft 4/7対応: JSON Schema Draft 4および7の主要機能をサポート
  • 型チェック: string、number、integer、boolean、array、object、nullに対応
  • フォーマット検証: email、url、date、ipv4など各種フォーマットをチェック
  • 配列検証: minItems、maxItems、uniqueItemsなどの配列制約に対応
  • オブジェクト検証: required、properties、additionalPropertiesなどに対応
  • 数値検証: minimum、maximum、multipleOfなどの数値制約に対応
  • 文字列検証: minLength、maxLength、patternなどの文字列制約に対応
  • ブラウザ内完結: データはサーバーに送信されません
  • レスポンシブ対応: スマホ・タブレットでも快適に操作
  • 完全無料: 登録不要で今すぐ使えます

JSON Schemaとは

JSON Schemaは、JSONデータの構造を定義するための仕様です。データの型、必須項目、値の範囲などを定義することで、APIのレスポンスや設定ファイルなどが期待通りの形式かを検証できます。

主な検証項目

  • type: データ型(string, number, integer, object, array, boolean, null)
  • required: 必須プロパティの指定
  • properties: オブジェクトのプロパティ定義
  • additionalProperties: 定義外のプロパティの許可/禁止
  • minimum/maximum: 数値の範囲指定
  • exclusiveMinimum/exclusiveMaximum: 数値の排他的範囲指定
  • multipleOf: 数値の倍数指定
  • minLength/maxLength: 文字列の長さ指定
  • pattern: 正規表現によるパターンマッチング
  • format: 特定フォーマット(email、url、dateなど)の検証
  • minItems/maxItems: 配列の要素数指定
  • uniqueItems: 配列内の重複チェック
  • items: 配列要素のスキーマ定義
  • enum: 許可される値のリスト
  • const: 固定値の指定
  • minProperties/maxProperties: オブジェクトのプロパティ数指定

スキーマの例

基本的なオブジェクトのスキーマ:

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "age": {
      "type": "integer",
      "minimum": 0,
      "maximum": 150
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": ["name", "email"]
}

配列を含むスキーマ:

{
  "type": "object",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "uniqueItems": true
    }
  }
}

ネストされたオブジェクトのスキーマ:

{
  "type": "object",
  "properties": {
    "address": {
      "type": "object",
      "properties": {
        "street": {"type": "string"},
        "city": {"type": "string"},
        "zipCode": {
          "type": "string",
          "pattern": "^\\d{3}-\\d{4}$"
        }
      },
      "required": ["street", "city"]
    }
  }
}

フォーマット検証について

  • email: メールアドレス形式をチェック
  • uri/url: URL形式をチェック
  • date: 日付形式(YYYY-MM-DD)をチェック
  • time: 時刻形式(HH:MM:SS)をチェック
  • date-time: 日時形式(ISO 8601)をチェック
  • ipv4: IPv4アドレス形式をチェック
  • ipv6: IPv6アドレス形式をチェック

こんな時に便利

  • APIのレスポンスが仕様通りか確認したい時
  • 設定ファイル(JSON)の妥当性をチェックしたい時
  • JSON Schemaを学習・テストしたい時
  • フロントエンドとバックエンドでデータ形式を統一したい時
  • JSONデータのバリデーションロジックを設計する前の検証
  • 外部から受け取ったJSONデータの構造を確認したい時
  • 複雑なJSONデータの検証ルールを試したい時
  • OpenAPI仕様書のスキーマ部分をテストしたい時
  • JSONデータの品質チェックを自動化する前の準備

注意点

  • 入力したデータはブラウザ上でのみ処理され、サーバーには保存されません
  • このツールはJSON Schema Draft 4/7の主要機能に対応していますが、すべての機能には対応していません
  • format検証(email、urlなど)は簡易的なチェックです。厳密な検証が必要な場合は専用のライブラリをご利用ください
  • 非常に大きなJSONファイル(数MB以上)や深くネストされたデータの場合、処理に時間がかかることがあります
  • $ref(参照)や$id(識別子)などの高度な機能には対応していません
  • 本番環境での使用前に、必ず実際の環境でテストしてください