サンプルデータから JSON Schema を推論する
JSON インスタンスの構造を記述する JSON Schema を生成し、バリデーションとドキュメントに活用します。
- 1
JSON Schema は JSON データの形(必須フィールド、型、形式、制約)を記述します。サンプルデータからスキーマを推論すると、スキーマを手書きせずに検証契約とドキュメントが得られます。
- 2 JSON スキーマジェネレーター →
JSON インスタンス(理想としては全フィールドが埋まったもの)を貼り付けます。ツールは型、必須プロパティ、配列要素の型を推論し、JSON Schema(draft 2020-12)を出力します。
- 3 JSON バリデーター →
生成されたスキーマに対して他のインスタンスを検証し、適合することを確認します。不一致は、欠落・余分・誤型のフィールドを明らかにします。
よくある質問
- スキーマが緩すぎます。制約を追加するには?
- 推論されたスキーマは観測された型を捉えますが、ビジネスルールは捉えません。制約を手動で追加してください。文字列形式(date-time、email)、数値の最小/最大、文字列の minLength/maxLength、enum 値、そして未知のフィールドを拒否する additionalProperties: false です。
- サンプルは 1 つと多くのどちらから推論すべきですか?
- 多くからです。単一サンプルはオプションフィールド(そのインスタンスに存在しないフィールドが必須になる)とユニオン型(null になることがあるフィールド)を見逃します。複数のインスタンスを与えるか、推論後にフィールドを手動でオプションにしてください。
このタスクを解決するワークフロー
命名ケース変換と JSON 検証
識別子を対象の命名規則に変換し、構造を確認するために出力を JSON として検証する。 パイプライン
JS フォーマットと JSON 検証
JS コードをフォーマットし、その後 JSON として検証する。 パイプライン
JSON のミニファイと検証
検査のために JSON をフォーマットし、1 パスで構文的に正しいことを検証する。 パイプライン
JSON Schema 生成と検証
サンプルデータから JSON Schema を生成し、それに対して検証する。 パイプライン
YAML の検証とフォーマット
YAML を JSON に変換して構造を検証し、その後 JSON が well-formed であることを確認する。 パイプライン