JSON Schemaジェネレーター

JSONサンプルを貼り付けると、その形状、型、必須フィールドを記述するdraft-07 JSON Schemaを取得できます。


          
        

仕組み

このツールは、解析されたJSONを再帰的に辿ります。オブジェクトは type: "object" になり、各キーごとに properties エントリが作られ、存在するすべてのキーが required に列挙されます。配列は type: "array" になり、各要素の型を推論・マージして構築された items スキーマを持ちます。プリミティブ値は直接マッピングされます。文字列、数値(サンプルされた値がすべて整数の場合は "number" の代わりに "integer")、真偽値、nullです。

これはブラウザネイティブのパーサーである JSON.parse と、その後に続く小さな再帰的ウォーカーを通じて、すべてこのページ自身のJavaScriptで実行されます。アップロードは一切行われません。

よくある質問

どのJSON Schemaドラフトを生成しますか?

draft-07です。ajvやjsonschema(Python)、ほとんどのIDEツールを含むバリデータの中で最も広くサポートされているバージョンです。出力は単純なJSONなので、より新しいドラフトのキーワードが必要な場合は後から手動で編集できます。

配列はどのように扱われますか?

ツールは配列内のすべての要素を調べ、推論された型をマージします。すべての要素が同じ形状を共有していれば1つのitemsスキーマになり、要素間で型が異なる場合は、サンプル内のどの要素も表現から漏れないよう、より広いスキーマにフォールバックします。

必須フィールドとしてマークされますか?

はい、オブジェクトに存在するすべてのキーは、サンプルに出現したという理由でそのオブジェクトのrequiredリストに追加されます。実際のデータでは任意項目であるキーは、生成されたスキーマのrequired配列から削除してください。