JSON Schema フォームビルダー

JSON Schema を、ネストされたフィールド、列挙型、配列に対応した編集可能なフォームに変換します。サンプル値を入力し、基本的なフィールドチェックを確認して JSON をエクスポートします。

ブラウザ内でローカルに実行
このツールの処理はすべてブラウザ内で行われます。KivTools が入力内容をアップロード・保存したり、外部 API に送信したりすることはありません。
JSON Schemaオブジェクト、プリミティブ型フィールド、列挙型、配列に対応しています。

フォームを作成して入力する手順

JSON Schema を貼り付けると、隣に編集可能なフォームが生成されます。ネストしたオブジェクトは fieldset、文字列と数値は入力欄、enum と const は選択リスト、boolean はチェックボックス、配列は JSON テキストエリアになります。スキーマの制約(required、minLength、maxLength、pattern、minimum、maximum、multipleOf、email 形式)は該当するフィールドに適用されます。

ペイロード欄はキー入力のたびに再構築されるため、入力しながら JSON を確認できます。アップロードは行いません。貼り付けたスキーマと入力値はタブ内にとどまり、どのリクエストにも含まれず、ページを読み込んだ後はオフラインでも動作します。

  1. type または properties を持つ JSON Schema オブジェクトを貼り付け、「フォームを生成」を押します。
  2. 「サンプルを読み込む」を使うと、フィールドの対応を先に確認できます。
  3. フィールドを入力します。チェックに通らないフィールドはペイロード下の一覧に表示されます。
  4. ペイロードを「コピー」するか schema-form-payload.json として「ダウンロード」し、「クリア」で両方の欄を初期化します。

フォームが扱う範囲と JSON のまま残る部分

フィールドごとの対応

貼り付けた文書内の $ref は解決します(#/definitions/... と #/$defs/... の両方)。オブジェクトスキーマである allOf は 1 つの fieldset に統合します。配列はテキストエリアに JSON として入力し、想定する形は items が示します。

再帰的な $ref、oneOf / anyOf / not、任意の値を受け付けるスキーマはウィジェット化せず、生の JSON を受け取るフィールドになります(検証は JSON として有効かどうかだけです)。additionalProperties、dependencies、if/then/else などの条件キーは適用しません。

検証がカバーする範囲

検証はブラウザー内で入力中に実行します。必須漏れ、文字列長、パターン、数値の範囲とステップ、email 形式、配列や生の JSON フィールドの構文エラーを確認します。各項目はドット区切りのパスを表示するため、settings.retentionDays のような入れ子も判別できます。

これはフォームビルダーであり、JSON Schema の完全なバリデーターではありません。入力を書き換えることもなく、書き出したペイロードは一覧で指摘が残っている値を含め、入力したとおりになります。使用前に指摘を確認してください。

プライバシーと制限

スキーマと回答がタブの外に出ることはありません。DevTools で、それらを含むリクエストがないことを確認できます。「コピー」はクリップボード、「ダウンロード」はローカルファイル、「クリア」はスキーマと入力値の両方を消します。

配列は行を追加する UI ではなく 1 つの JSON テキストエリアです。入力した内容がそのままペイロードになります。

最近使ったツール: