JSON 轉 Python 工具
生成帶 JSON 對映函式的 Python dataclass,或 Python 3.11 TypedDict 定義,支援巢狀結構及可選欄位。
如何生成 Python 模型
貼上有代表性的 JSON 物件或陣列,填寫根型別名稱後生成。使用檔案選擇框檢視各個原始碼檔案;複製僅複製當前檔案,ZIP 下載保留全部檔案。完整輸出透過對映保留 JSON 原始欄位名,包括語言關鍵字和含標點的鍵名。
dataclass 輸出使用 Python 3.7 及以上的標準庫,from_dict/to_dict 函式將 JSON 鍵對映到合法屬性;僅模型模式省略轉換函式。TypedDict 使用 Python 3.11 及以上的 NotRequired,直接保留連字元、關鍵字等原始鍵名。型別註解不會自動進行執行時校驗。
樣本、可選欄位與限制
同類介面存在多種返回結構時,可選擇 JSON Lines,每行放一個完整 JSON 文件。部分樣本缺少的欄位推斷為可選欄位,顯式 null 參與可空型別推斷。空陣列和始終為 null 的欄位無法確定具體型別,應補充代表性樣本並核對輸出。
數字樣式字串、日期和 UUID 字串仍按字串處理。工具根據樣本推斷模型,不能代替完整介面約定。上限為 200,000 字元、64 層巢狀、50 個樣本文件、50 個生成檔案及 1,000,000 輸出字元。轉換在本地 Worker 中執行,可取消,超時為 10 秒。
常見問題
缺失欄位和 null 一樣嗎?
不同。缺失欄位表示該欄位不一定存在,null 則是一個具體值。目標語言可能透過同一個可選或可空型別表示兩者。建議提供多個樣本,僅在符合實際介面時啟用“所有欄位可選”。
會讀取遠端 Schema 或上傳 JSON 嗎?
不會。工具僅使用輸入的 JSON 樣本,不讀取其中的網址或遠端 Schema,也不會在頁面中執行生成的程式。