
JSON 模式產生器讀取範例 JSON 值(API 回應、設定檔、Webhook 有效負載)並寫入驗證它的 JSON 模式。它推斷每個欄位的類型,將物件數組合併到單一項目模式而不是雜訊聯合中,從每個記錄中存在的鍵導出需要哪些鍵,並且可以標記字串格式,例如日期時間、電子郵件、uri 和 uuid。您貼上已有的資料;您將獲得原本逐條手寫的模式。
手寫模式速度很慢,很容易犯一些微妙的錯誤。很容易輸入您認為有效負載包含的內容,錯過嵌套字段,根據需要標記偶爾為空的屬性,或者忘記一個端點返回一個數組,而另一個端點返回單個對象。直接從真實資料產生的模式從實際形狀開始,因此您驗證的文件與服務真正發送的內容相符。從那裡您可以手動收緊約束 - 模式、枚舉、最小值,但乏味的鷹架已經完成。
一切都在您的瀏覽器中運行。推理引擎是無依賴性的 TypeScript,而不是託管 API 周圍的包裝器,因此有效負載(通常攜帶令牌、電子郵件和內部 ID)永遠不會離開頁面。選擇 Draft-07 或 2020-12 方言,新增標題,切換所需欄位偵測、格式偵測和嚴格的 `additionalProperties`,然後複製模式或將其下載為 。json 檔案。
模式描述的是您的樣本而不是您的意圖,因此將輸出視為初稿:從恰好存在的內容推斷出所需的字段,並通過模式檢測格式,因此看起來像日期的字串被鍵入為1,即使當它是一個僅類似於它的標識符時。
刪除 API 回應、夾具或任何 JSON 值。 首先載入樣本以查看如何處理嵌套物件、物件數組和字串格式。
選擇最廣泛的工具支援 Draft-07 或目前規範的 2020-12。 正確的 $schema URI 會寫在輸出上。
新增一個可選的標題,決定是否發出所需的數組,檢測字串格式,並使用附加屬性鎖定物件:FALSE 以進行嚴格驗證。
按產生。 查看推斷的類型和所需欄位,然後將架構複製到您的剪貼簿或將其下載為 .json 檔案,以便放入您的驗證器。
發出廣泛支援的 Draft-07 方言或目前的 2020-12 規範。 匹配的 $schema 識別碼寫在根上,以便驗證器選擇正確的規則。
一組物件變成單一項目模式,描述一個元素,而不是一個蔓延的元素。 每個元素中都需要鍵;僅出現在某些元素中的鍵是可選的。
生成器從它看到的每個物件中存在的鍵導出所需的數組,這正是真實分頁資料的行為方式 - 有些欄位始終存在,而有些欄位則不存在。
識別日期時間、日期、時間、電子郵件、URI、UUID 和 IPv4 字串,並使用適當的格式關鍵字標記它們,為您提供原本手動添加的驗證。
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.
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. 100% in your browser.
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.
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.
0 comments
No comments yet. Be the first to share your thoughts!