サンプルJSONから型を推論してスキーマを自動生成
サンプルのJSONを貼り付けるだけで、その構造からJSON Schemaを自動生成する無料ツールです。API開発やフォーム検証、設定ファイルの妥当性チェックなどで必要になるスキーマの「たたき台」を、手書きせずに素早く用意できます。インストールや会員登録は不要で、すべての処理はお使いのブラウザ内で完結します。貼り付けたJSONが外部に送信されることはありません。
使い方はかんたんです。入力欄にサンプルのJSONを貼り付け、「スキーマを生成」を押すだけで、下に整形されたJSON Schemaが表示されます。ドラフトは draft-07(デフォルト)と 2020-12 から選べ、title の指定や required の自動付与もワンタッチで切り替えられます。生成したスキーマはコピーやダウンロードができるので、そのままプロジェクトに取り込めます。
型推定(string / number / integer / boolean / object / array / null)、オブジェクトのキーからの required 自動付与、配列要素のマージ、ネストした構造への対応に対応しています。整数と小数を判別し、整数値には integer、小数を含む値には number を割り当てます。オブジェクトの配列では全要素のプロパティを統合し、共通して現れるキーだけを required にまとめます。
本ツールは、貼り付けられたJSONの各値を再帰的にたどり、値の種類に応じてスキーマの type を決定します。オブジェクトは properties にキーごとのスキーマを展開し、配列は items に要素のスキーマを推論します。ネストが深い構造でも、内側まで再帰的にたどってスキーマ化します。
| JSONの値 | 推論される type | 補足 |
|---|---|---|
| "文字列" | string | すべての文字列は string |
| 整数(例 123) | integer | 小数点を含まない数値 |
| 小数(例 98.5) | number | 小数を含む数値 |
| true / false | boolean | 真偽値 |
| { ... } | object | properties と required を生成 |
| [ ... ] | array | items に要素の型を推論 |
| null | null | 値が null の場合 |
オブジェクトの配列では、全要素のプロパティを一つの items スキーマに統合します。required を自動付与している場合は、すべての要素に共通して現れたキーだけを required にまとめるため、要素によって有無が変わるフィールドは任意扱いになります。数値と整数が混在する配列は number に統合し、大きく型が異なる要素が混在する場合は複数の型を配列で表現します。空配列は要素の型を推論できないため、items を付けずに array とだけ出力します。