JSON スキーマジェネレーターとは何ですか?

JSON スキーマジェネレータは、サンプル JSON 値 - API レスポンス、コンフィグファイル、Webhook ペイロード - を読み取り、それを検証する JSON スキーマを書き込みます。すべてのフィールドのタイプを推測し、オブジェクトの配列をノイズの多い結合ではなく単一の項目スキーマにマージし、すべてのレコードにあるキーからどのキーが必要かを導き出し、日付、電子メール、uri、uuid などの文字列形式にタグ付けできるデータを貼り付けます。; そうしないと手書きするスキーマを節ごとに取得します。
スキーマを手書きで書くのは時間がかかり、微妙に間違えやすいです。 ペイロードに含まれると思われるものを入力したり、ネストされたフィールドを見逃したり、必要に応じて時折無効なプロパティをマークしたり、あるエンドポイントが配列を返し、別のエンドポイントが 1 つのオブジェクトを返すのを忘れたりしたくなります。実際のデータから直接生成されたスキーマは実際の形状から開始されるため、検証したドキュメントはサービスが真に送信するものと一致します。そこから制約 - パターン、列挙型、最小値 - を手で締めますが、面倒な足場は手作業で行われます。
すべてがブラウザで実行されます。推論エンジンは依存関係のない TypeScript であり、ホストされた API のラッパーではないため、ペイロード (トークン、電子メール、内部 ID を日常的に保持します) はページから決して離れることはありません。 Draft-07 または 2020-12 方言を選択し、タイトルを追加し、必須フィールドの検出を切り替えます。形式検出と厳密な `additionalProperties` を選択し、スキーマをコピーするか、.json ファイルとしてダウンロードします。
スキーマはインテントではなくサンプルを記述するため、出力を最初のドラフトとして扱います。必須フィールドは、たまたま存在するものから推測され、形式はパターンによって検出されるため、日付のように見える文字列は 1 として入力されます。単に識別子に似ているだけの場合でも。
JSON スキーマ ジェネレーターの使い方
json を貼り付けます
API レスポンス、フィクスチャ、または JSON 値をドロップします。 サンプルを最初にロードして、ネストされたオブジェクト、オブジェクトの配列、および文字列形式がどのように処理されるかを確認します。
方言を選ぶ
最も広いツール サポートの場合は Draft-07 を選択し、現在の仕様には 2020-12 を選択します。 正しい $schema URI が出力に書き込まれます。
オプションを設定する
オプションのタイトルを追加し、必要な配列を発行するかどうかを決定し、文字列形式を検出し、さらにプロパティを使用してオブジェクトをロックダウンします。厳密な検証のため、false。
生成してから、コピーまたはダウンロード
[生成] を押します。 推測された型と必須フィールドを確認してから、スキーマをクリップボードにコピーするか、バリデーターにドロップできる .json ファイルとしてダウンロードします。
主な機能
ドラフト 07 および 2020-12 出力
広くサポートされている Draft-07 方言または現在の 2020-12 仕様を発行します。 一致する $schema 識別子がルートに書き込まれるので、バリデータは正しいルールを選択します。
スマートアレイのマージ
オブジェクトの配列は、1 つの要素を表す単一のアイテム スキーマになります。 すべての要素に存在するキーが必要です。一部のキーのみに表示されるキーはオプションのままです。
必須フィールド推論
ジェネレータは、表示するすべてのオブジェクトに存在するキーから必要な配列を導出します。これは、実際のページ分割データの動作とまったく同じです。一部のフィールドは常に存在し、他のフィールドは存在しません。
文字列形式の検出
日付時刻、日付、時刻、電子メール、UUID、および IPv4 文字列を認識し、適切な format キーワードでタグ付けして、他の方法で手で追加することを確認します。
Frequently Asked Questions
Related Tools
JSON Flattener
Flatten nested JSON into single-level dot-notation keys, or unflatten dotted keys back into nested objects and arrays. Lossless round trip. 100% client-side.
JSON to Go Struct
Convert JSON into Go struct definitions with json tags. Nested objects become inline structs, arrays of objects are merged, and field names follow Go conventions. Runs client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
JSONPath Tester
Test JSONPath expressions against any JSON and see the matched values and their paths instantly. Supports wildcards, recursive descent, slices, and filters. 100% client-side.
Comments
0 comments
No comments yet. Be the first to share your thoughts!