如果這個工具幫到了你,可以請作者喝杯咖啡 ☕
將JSON字串或資料自動轉換爲規範的Python類定義程式碼,用於API介面、配置檔案等資料建模。
當您需要將API返回的JSON響應、配置檔案等結構化資料,在Python專案中建模為易於使用的類物件時,手動編寫類定義不僅繁瑣,還容易出錯。本工具能解析您輸入的JSON資料,根據其巢狀結構和鍵值對,自動生成包含型別提示(Type Hints)的Python類定義程式碼。一個JSON物件本質上是一個鍵值對的集合,本工具會將其對映為Python類的屬性,併爲每個屬性推斷其資料型別(如str, int, list, dict等)。
firstName或zip-code)轉換為符合Python命名規範的蛇形命名法(如first_name, zip_code),開箱即用。name: str),提升程式碼可讀性和IDE支援度,便於後續進行靜態型別檢查。問:輸入什麼格式的JSON才能正確轉換?
答:本工具接受標準的JSON字串,無論是物件({})還是陣列([])形式。請確保JSON語法正確,例如字串用雙引號、沒有尾隨逗號。
問:工具如何處理JSON陣列?
答:這是許多使用者關心的問題。如果JSON頂層是一個數組,工具會分析陣列內元素的共同結構(通常是物件),並基於此生成一個Python類。例如,輸入 [{"id": 1, "name": "a"}, {"id": 2, "name": "b"}],會生成一個名為 Root 的類,包含 id: int 和 name: str 屬性。
請確保輸入的JSON格式有效,否則無法解析。工具的型別推斷基於JSON原生型別(null, boolean, number, string, array, object),對於混合型別的陣列(如 [123, "text"]),屬性型別可能被推斷為寬泛的 Any 或 Union,需根據業務邏輯手動調整。生成的程式碼僅為資料模型定義,不包含JSON反序列化(如from_dict)或序列化邏輯,您可能需要結合json.loads()或第三方庫(如Pydantic)來完整使用。
對於需要強資料驗證和序列化的場景,建議將生成的類程式碼作為Pydantic模型的基類。Pydantic能基於型別提示自動完成資料解析和驗證。例如,將生成的class User:改為from pydantic import BaseModel; class User(BaseModel):,即可輕鬆實現JSON到模型例項的轉換(User.parse_raw(json_string))。一個典型輸入輸出示例:輸入 {"userName": "Alice", "age": 30, "hobbies": ["coding", "reading"]},輸出類定義將包含 user_name: str, age: int, hobbies: List[str] 等屬性。