JSON Schema 樣本產生器
根據 JSON Schema 建立可重現的有效和無效測試資料。提供每個樣本前,都會使用 JSON Schema 驗證器進行檢查。
尚未選擇檔案
結構描述最多 50,000 個字元;可產生 1 到 100 個有效樣本及 0 到 100 個無效樣本,結果最多 4,000,000 個字元。所有處理都在瀏覽器中進行。可下載 JSON 報告和 JSON Lines 檔案。 以 JSON 或 YAML 格式貼上一個結構描述。會追蹤本機 $ref 參照。 最多 50,000 個字元。 執行前請檢查設定。
處理結果
JSON Schema 樣本產生器
- 以 JSON 或 YAML 格式貼上 JSON Schema。
- 選擇隨機種子,以及要產生的有效和無效樣本數量。
- 執行產生器並檢閱每個無效樣本違反的規則。
- 下載報告或 JSON Lines 檔案。
使用須知
結構描述最多 50,000 個字元;可產生 1 到 100 個有效樣本及 0 到 100 個無效樣本,結果最多 4,000,000 個字元。所有處理都在瀏覽器中進行。可下載 JSON 報告和 JSON Lines 檔案。
樣本的產生方式
產生器會遍歷結構描述,使用有種子的亂數產生器,從型別、列舉、範圍、長度、簡單模式和常見格式中挑選值,因此相同種子會產生相同樣本。接著使用 Ajv 驗證每個候選樣本。失敗的候選項會遭替換;嘗試 25 次後,樣本會列為無法產生,而不會輸出。
無效樣本
無效樣本從有效樣本開始,每次違反一條規則,例如型別錯誤、缺少必要屬性、值超出列舉或範圍,或包含額外屬性。每個樣本都會再次驗證,報告會指出失敗的關鍵字。
限制
只會追蹤結構描述內的本機參照;絕不會擷取其他檔案或 URLs 的參照。複雜正規表示式、not 及某些 oneOf 組合可能超出產生器支援的搜尋範圍。這類樣本會回報為未產生。若結構描述將 __proto__ 用作屬性、pattern 或 dependency 索引鍵,驗證器會拒絕處理,因為內建驗證器無法可靠檢查該索引鍵。含有此索引鍵的字面執行個體資料會予以保留。