JSON Schema 產生器
免費線上 JSON Schema 產生工具。貼上範例 JSON 即可推斷 draft-07 或 2020-12 schema:必填屬性、陣列合併策略與字串格式偵測,完全在瀏覽器本機完成。
JSON Schema 產生器是做什麼的?
它分析範例 JSON 文件並推斷描述它的 schema:每個值的型別、巢狀物件的屬性、陣列的元素 schema。結果是一份可直接使用的 draft-07 或 2020-12 JSON Schema,可以複製或下載。
schema 推斷是怎麼運作的?
產生器遞迴走訪範例值:字串變成 string 屬性(可選附上偵測到的 date、email 等格式),整數變 integer,小數變 number,布林變 boolean,null 變 null,陣列依所選策略產生帶元素 schema 的 array,物件變成帶 properties 對應的 object。
必填選項有什麼作用?
開啟後,物件中發現的每個屬性都會被視為強制存在:產生器會把它們整理成每個物件上符合 JSON Schema 規範的 required 陣列。如果實際資料中某些欄位可能缺席,請關閉該選項。
陣列策略應該怎麼選?
「合併所有元素」會產生能覆蓋全部元素的單一元素 schema(例如 integer 與 number 合併為 number);「只取第一個元素」以第 0 個元素的 schema 為準;「要求元素型別一致」要求所有元素 schema 相同,否則報錯;「按位置元組」為每個位置保留獨立 schema,適合定長陣列。
能加入 $schema 版本標頭嗎?
可以。$schema 版本下拉選單可選擇加上官方 draft-07 URI、2020-12 URI,或不加入。該標頭告訴下游驗證器你的 schema 遵循哪個規範。
字串格式偵測是什麼?
開啟後,形如電子郵件、日期、主機名的字串值會附帶 format 註記(如 format: email)。這讓 schema 更精確,但短文字偶爾會被過度註記——需要純字串型別時可以關閉。
產生的 schema 一定完美嗎?
從單一樣本推斷不可能完美。schema 只反映你給的範例:缺席的選用欄位不會出現,邊界情況可能需要手動調整。把它當作高品質的起點,再按真實契約調整取值範圍、pattern 和枚舉。
資料會被上傳嗎?
不會。schema 推斷完全在瀏覽器內完成,不向任何伺服器傳送資料。範例也可以從本機檔案載入,最近一次輸入只保存在本瀏覽器的 localStorage 中。
如何使用JSON Schema 產生器
本工具從範例 JSON 文件推斷 JSON Schema。在左側貼上或載入範例資料,調整選項,右側即時產生 draft-07 或 2020-12 schema。底層使用 to-json-schema 推斷引擎在瀏覽器本地執行,並做一步後處理:把引擎逐屬性標記的必填標記整理成父物件上符合規範的 required 陣列。資料不會上傳到任何地方。
- 把範例 JSON 貼到左側文字框,或用「載入檔案」「範例」按鈕。
- 決定是否所有屬性都必須存在——勾選「將所有屬性標記為必填」會在每個物件上產生 required 陣列。
- 選擇陣列策略:合併所有元素(一個元素 schema 覆蓋全部)、只取第一個元素、要求元素型別一致(不一致時報錯)或按位置元組。
- 選擇 $schema 版本:不加入、Draft-07 或 Draft 2020-12,將加上官方標頭 URI。
- 「偵測字串格式」可為形似電子郵件、日期的值附上 format 註記。
- 複製結果或下載為 schema.json;產生的 schema 統一以 2 空格縮排輸出。
推斷結果完全取決於你提供的範例——範例中缺少的欄位不會出現在 schema 裡,請盡量餵最豐富、最真實的資料。像 Ada Lovelace 這類純字母短文字可能被標註 format: color(與 CSS 色彩名同形),需要純字串型別時關閉「偵測字串格式」,或手動刪掉 format 行。
相關工具
- JSON 驗證器 即時驗證 JSON 語法,提供詳細錯誤資訊和行號定位。免費線上工具,100% 瀏覽器端執行。
- JSON 格式化 格式化和美化JSON,支援自訂縮排。在瀏覽器中即時格式化壓縮的JSON。
- JSON轉TypeScript 將JSON資料即時轉換為TypeScript介面和型別定義。支援巢狀物件、陣列和聯合型別。
- Chmod 計算器 免費線上chmod計算器,透過核取方塊視覺化Linux檔案權限並計算chmod值。即時轉換數字(755, 644)和符號(rwxr-xr-x)表示法,支援setuid、setgid、sticky bit等特殊權限。
- ASCII碼表 完整的ASCII字元編碼參考表,包含十進位、十六進位、八進位、二進位編碼、HTML實體和字元描述。支援即時搜尋和篩選。
- HTTP 請求測試 在瀏覽器中直接測試 REST API。發送 GET、POST、PUT、DELETE 請求,自訂請求標頭、請求體和查詢參數,即時查看回應狀態、標頭和 JSON 內容。
- .htaccess產生器 產生Apache .htaccess規則,包括重新導向、重寫、安全標頭、快取、壓縮等。
- Robots.txt產生器 免費線上robots.txt產生器。建立和自訂robots.txt檔案,控制搜尋引擎爬取,管理爬蟲存取,透過視覺化編輯器優化網站SEO。