轉換器會解析 JSON 範例,逐一走訪每個值來推斷 Go 欄位型別。字串會成為 string,整數成為 int,小數成為 float64,布林成為 bool,物件成為 struct,陣列成為 slice。
輸出會依據您貼上的範例推斷,因此混合型陣列、nullable 欄位與缺漏欄位只會根據看得到的資料判斷。將 struct 放進正式程式前,請先檢查 interface{} fallback、指標欄位與 omitempty tag。
關於這個主題的常見疑問與實用解答。
JSON 字串會對應 Go string,整數對應 int,小數對應 float64,布林值對應 bool,陣列對應 slice,巢狀物件對應巢狀 struct。只有 null 的欄位會 fallback 成 interface{};有型別但可為 null 的欄位可能會變成指標並加上 omitempty tag。
巢狀 JSON 物件會被輸出成產生型別內的匿名 nested struct block。轉換器不會把它們拆成獨立命名的子型別,因此您可以之後再依實際程式碼需求手動抽出可重用 struct。
是的,轉換器會使用原始 JSON key 名稱為欄位加入 json struct tag。例如,JSON 欄位 user_name 會產生帶有 user_name json tag 的 Go 欄位,讓 encoding/json 能保留傳輸格式的名稱。
不會,JSON 轉 Go struct 的轉換完全在您的瀏覽器中以 JavaScript 執行。您的 JSON 資料留在您的裝置上,不會上傳至任何伺服器。