JSONスキーマジェネレーター(JSONサンプルから)
1つ以上のJSONサンプルから、JSONスキーマ(ドラフト2020-12、2019-09、07、04)を生成します。型、必須キー、入れ子のオブジェクト、配列、フォーマットに対応。
2019-09と2020-12では、formatは既定ではアノテーションであり、多くのバリデーターはformatアサーションを有効にした場合にだけ検証します。
JSONスキーマは、有効なJSONがどのような形か、つまりどのキーがあり、型が何で、どれが必須かを記述するもので、API、設定ファイル、フォームを自動的に検証できるようにします。大きなレスポンスに対して手で書くのは面倒です。サンプルを1つ以上貼り付けると、ドラフト2020-12、2019-09、07、06、04のスキーマが得られます。入れ子のオブジェクトと配列は再帰的に記述され、すべてのサンプルにあるキーは必須になり、整数はintegerになり、date-time、email、uri、uuidなどの一般的な文字列フォーマットが検出されます。
使い方
- JSONを貼り付けます。サンプルの配列、1つのドキュメント、または1行に1つのドキュメントです。
- サンプルがどのように並んでいるかをツールに伝えます。
- バリデーターが使うドラフトを選びます。
- 必要に応じてタイトルと$idを追加し、必須キー、additionalProperties: false、フォーマット検出、enumを選びます。
- スキーマをコピーして仕上げます。サンプルからは分からない説明、範囲、パターンを追加してください。
計算式
null → "null" · true/false → "boolean" · 3 → "integer" · 2.5 → "number" · "…" → "string"(+ format) · [ … ] → "array" + items · { … } → "object" + properties
同じ位置で見つかった値はマージされます。integerとnumberはnumberになり、時々nullになる値は["string", "null"]のような型のリストを持ち、他の種類と混在するオブジェクトや配列はanyOfになります。キーは、その位置のすべてのオブジェクトにある場合にだけ必須になります。フォーマットは、その位置のすべての文字列が一致し、そのドラフトが定義している場合にだけ追加されます(dateとtimeはdraft-07から、uuidとdurationは2019-09から)。
計算例
3つのユーザーサンプルから、7つのプロパティを持つオブジェクトのスキーマができます。id(integer)、email(string、format email)、role(string)、joined(string、format date-time。「+09:00」のオフセットも可)、tags(文字列の配列。1つのサンプルは空の配列)、manager(null、1回だけ出現)、score(number、1回だけ出現)です。id、email、role、joined、tagsはすべてのサンプルにあるので必須で、managerとscoreは必須ではありません。
よくある質問
どのドラフトを選べばよいですか?
バリデーターが対応しているものを使ってください。最も一般的なJavaScriptのバリデーターであるAjvは2020-12、2019-09、draft-07に対応し、OpenAPI 3.1は2020-12を使い、古い多くのツールはdraft-07かdraft-04しか知りません。
あるキーが必須にならないのはなぜですか?
少なくとも1つのサンプルにそのキーがないためです。より完全なサンプルを追加するか、requiredのリストを手で編集してください。
ここでスキーマに対してデータを検証できますか?
はい。このサイトのJSONスキーマバリデーターに、スキーマとデータを貼り付けてください。
JSONはアップロードされますか?
いいえ。スキーマはブラウザ内で生成されます。
出典
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/json-schema-generator/
このツールを引用する
kakaoCalc. (2026, November 8). JSONスキーマジェネレーター(JSONサンプルから). https://kakao.mobile/ja/tools/json-schema-generator/
“JSONスキーマジェネレーター(JSONサンプルから).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/json-schema-generator/.