例から始める
オブジェクト、配列、文字列、数値は対応する type にマップされます。入れ子オブジェクトはできるだけ properties に展開します。
空配列で要素サンプルがないと items の型が不正確なことがあります。実要素を1件足してから推論してください。
次の方法でも #data={"name":"Ada"} または #url=... データを流し込めます。読み取り後はアドレスバーから削除されます。
サンプル JSON から JSON Schema を推論します。先に実レスポンスがあり、あとから API 文書を足す、検証器の出発点にする、といった用途に向いています。推論結果の必須項目と列挙は人手で確認してください。ツールが見るのは「この例にあるもの」だけで、「業務上必須なもの」は見えません。
オブジェクト、配列、文字列、数値は対応する type にマップされます。入れ子オブジェクトはできるだけ properties に展開します。
空配列で要素サンプルがないと items の型が不正確なことがあります。実要素を1件足してから推論してください。
自動推論では「このフィールドが必須か」は分かりません。required は自分で直してください。任意フィールド、列挙、format(email、uri)も人手で足します。
生成後は ajv などのツールで CI を回す方が、口頭の取り決めだけより安定します。
サンプルデータはアップロードしません。本番サンプルを使うときも、先にマスキングすることを推奨します。
出力には $schema 宣言が含まれ、他ツールがバージョンを識別しやすくなります。
{
"id": 1001,
"name": "Ada",
"active": true
}
{
"type": "object",
"properties": {
"id": { "type": "number" },
"name": { "type": "string" },
"active": { "type": "boolean" }
}
}
このページはサンプルから Schema を生成することが主眼です。生成結果はバックエンドや CI の ajv などに渡して検証してください。
できるだけ下まで推論します。空配列で要素サンプルがないと item 型が不正確なことがあります。
REST / JSON 文書は Schema、GraphQL サービスは型推論ページです。
型推論が中心です。メールなどの形式は業務に合わせて Schema へ足してください。
1つの例では完全な契約は出ません。複数サンプルで突き合わせたうえで Schema を締めてください。