JSON Schema ジェネレータ
貼り付けた JSON を辿って型(integer・number・string・boolean・null・array・object)を推論、一般的な文字列フォーマット(email・URI・UUID・IPv4・date・date-time)を検出、検証に使える JSON Schema を出力。オプションで全プロパティを required にマークしたり、値を `examples` として埋め込んだり。
—
JSON Schema (draft-07)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"verified": {
"type": "boolean"
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"address": {
"type": "object",
"properties": {
"street": {
"type": "string"
},
"city": {
"type": "string"
}
},
"required": [
"street",
"city"
]
}
},
"required": [
"id",
"name",
"email",
"verified",
"roles",
"address"
]
}
},
"required": [
"user"
]
}使い方
- JSON サンプルを入力ボックスに貼り付け。
- 全プロパティを required にするか(厳密な API 契約に良い)、存在するキーのみにするか(部分・patch ペイロードに良い)を選択。
- 値を `examples` として含めると、生成されたドキュメントに型と一緒にサンプルも表示される。
よくある質問
- 対象とする draft は?
- draft-07 — validator・コードジェネレータ・Stoplight や Redocly などのエディタツールで最も広くサポートされているバージョン。OpenAPI 3.0 で使われる JSON Schema フラグメントとも互換。
- 混合型配列の扱いは?
- 全要素が同じスキーマを生むなら `items` はそのスキーマに集約。要素が異なれば `items.type` は union(`['string', 'integer']`)。`anyOf` / `oneOf` は生成しない — できるだけシンプルに保つ。
- どの文字列フォーマットを自動検出?
- `date-time`・`date`・`email`・`uri`・`uuid`・`ipv4`。部分文字列ではなく全体に一致する必要あり。
- nullable フィールドは?
- 入力の null 値は `"type": "null"` に。optional-nullable フィールドは代表的なサンプルでジェネレータを走らせてマージ — 推測せず最小限のスキーマを保つ。
関連ツール
JSON → TypeScript インターフェイス
JSON サンプルから TypeScript インターフェイスを生成 — キー名に沿って再帰的に型推論。
開発 0 0
JSON to Zod スキーマジェネレーター
JSON オブジェクトを型推論付きの Zod 検証スキーマにブラウザ上で変換します。
開発 0 0
JSON to GraphQL スキーマ(SDL)コンバーター
JSON オブジェクトをスカラーマッピング付きの GraphQL 型定義(SDL)にブラウザ上で変換します。
開発 0 0
JSON to Mongoose スキーマジェネレーター
JSON オブジェクトを型マッピングされたパスを備えた Mongoose スキーマにブラウザ上で変換します。
開発 0 0
JSON to Protobuf スキーマコンバーター (proto3)
JSON オブジェクトを型付きフィールドとネストされたメッセージを持つ proto3 .proto スキーマにブラウザ上で変換します。
開発 0 0
JSON to JSDoc @typedef ジェネレーター
JSON オブジェクトを @property タグ付きの JSDoc @typedef ブロックにブラウザ上で変換します。
開発 0 0