跳到正文
馬克工具箱

JSON 轉 Go 結構體

貼上 JSON,得到可直接用於 encoding/json 的 Go 結構體定義。欄位名遵循 Go 命名習慣,巢狀物件生成獨立型別,並像 gofmt 一樣對齊各列。

在瀏覽器本地執行,輸入的內容和檔案都不會上傳

使用步驟

  1. 貼上 JSON 示例,或點「載入示例」。
  2. 設定根結構體的名稱。
  3. 複製或下載生成的程式碼,放進你的包裡。

引數說明

根型別名稱
頂層結構體的名稱,巢狀結構體按鍵名命名。

使用示例

{"user_id": 7, "email": null, "tags": ["a"]} 會生成:

type Root struct {
	UserID int64    `json:"user_id"`
	Email  any      `json:"email"`
	Tags   []string `json:"tags"`
}

常見問題

欄位名是怎麼生成的?

鍵名轉成匯出的大駝峰名稱,常見縮寫按 Go 規範全部大寫,例如 user_id 變成 UserID,homeUrl 變成 HomeURL。原始鍵名保留在 json 標籤裡。

什麼時候用指標和 omitempty?

在部分陣列元素中缺失的鍵會加上 omitempty。有時為 null 的值使用指標(*string),以區分 null 和空值;可選的巢狀結構體也使用指標。

數字用什麼型別?

整數用 int64,小數用 float64。如果同一個鍵在不同元素中既有整數又有小數,使用 float64。

JSON 資料會上傳嗎?

不會。型別在瀏覽器中生成,包含真實資料的介面返回也不會離開你的裝置。

隱私說明

本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。

相關工具