JSON Schema 起始產生器

從 JSON 範例推斷初版 JSON Schema。

輸入內容只在瀏覽器本機處理。 依 primitive、array、object 與 required key 建立草稿。

這只是起始 schema,不會推論格式、限制、選填或商業規則。

使用說明

從 JSON 範例推斷初版 JSON Schema。

撰寫 API 文件、做資料驗證時,要手寫幾百行的 JSON Schema 規範往往讓人頭痛。只要貼上現有的範例 JSON 資料,系統就能自動推論出各欄位的資料型態(字串、數字、布林值、陣列與物件),並一秒產生合乎國際標準 Draft-07 / 2020-12 的 JSON Schema 架構!

💡 3 步驟快速上手

① 貼上 JSON 範例資料

將您平日測試用的真實或範例 JSON 物件貼入左側編輯框。

② 自動推論型態與必填欄位

系統自動解析所有欄位架構,並可依需求勾選將所有欄位設為必填(required)。

③ 匯出標準 JSON Schema

即刻生成完整的 JSON Schema 結構定義,直接支援 AJV、Joi 等後端驗證函式庫!

適用情境

適合 API 文件、表單驗證與資料契約草稿。

計算或處理方式

依 primitive、array、object 與 required key 建立草稿。

具體範例

範例:貼上 user JSON 產生 schema。

限制與資料處理

單一樣本無法表達所有合法變化;發布前需補上 optional、格式與限制。

不會。JSON Schema 起始產生器只在瀏覽器內處理;請勿貼上正式密鑰或未遮罩的個人資料。

JSON Schema Draft 2020-12 規範、資料型別約束與驗證手冊

一、什麼是 JSON Schema?宣告式資料驗證標準

JSON Schema 是一套由 IETF 支援的開放標準,用於為 JSON 資料結構提供強健的宣告式定義與驗證機制。它扮演著資料的「契約(Contract)」角色,明確規範 JSON 物件必須包含哪些屬性、欄位型別(string, number, boolean, array, object)、數值範圍及格式規則。

透過 JSON Schema,前後端團隊可在 API 邊界處自動攔截不合規的畸形資料,避免將驗證邏輯散落於商業代碼各處。

二、Draft 2020-12 核心關鍵字與約束語法

1. `$schema` 與 `$id`:宣告所遵循的 JSON Schema 版本與該結構的唯一 URI 識別碼。

2. `type` 與 `properties`:定義頂層型別與物件欄位屬性。

3. `required`:以陣列形式列出必填欄位名稱。

4. `additionalProperties: false`:嚴格禁止物件出現未事先宣告的未預期額外欄位,是防範惡意注入與欄位污染的關鍵設定。

5. `format` 與 `pattern`:針對 Email、日期時間(date-time)、UUID 及自訂正則進行格式驗證。

三、自動化校驗器(Ajv)與跨語言生態系整合

在 Node.js、Python(jsonschema)、Go 及 Java 中,皆有高度最佳化的 JSON Schema 驗證庫(如 Ajv)。本工具生成的 JSON Schema 規範符合最新標準,可直接匯入各語言之驗證中介軟體(Middleware)中執行。

權威資料來源與參考規範

  • JSON Schema 官方組織:JSON Schema Draft 2020-12 Specification
  • IETF Draft:JSON Schema: A Media Type for Describing JSON Data Structures
  • Ajv JSON Schema Validator Documentation

常見問題

JSON Schema 起始產生器接受什麼輸入?

貼上一份有效的 JSON 物件範例;根層陣列與 primitive 不接受。

JSON Schema 起始產生器如何產生結果?

工具依目前樣本推斷 primitive、object、array 與 required key 草稿。

JSON Schema 起始產生器有哪些限制?

單一樣本無法表達所有合法變化;發布前需補上 optional、格式與限制。

JSON Schema 起始產生器會上傳資料嗎?

不會。JSON Schema 起始產生器只在瀏覽器內處理;請勿貼上正式密鑰或未遮罩的個人資料。