」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 Go 中解組未知的 JSON 格式?

如何在 Go 中解組未知的 JSON 格式?

發佈於2024-12-23
瀏覽:470

How Can I Unmarshal Unknown JSON Formats in Go?

解組未知格式的JSON 資料

簡介

您的JSON 資料遵循未知格式,給解組帶來挑戰將其轉換為GoLang 結構體。本文將引導您完成有效處理這種情況的步驟。

使用map[string] 介面進行解組{}

因為您不知道中的鍵提前,您可以使用map[string]interface{} 來解群組您的JSON 負載。這允許您將鍵值對儲存為映射,而無需指定值的類型。

var grades map[string]interface{}

err := json.Unmarshal([]byte(jsonString), &grades)
fmt.Println(err)

fmt.Printf("%#v\n", grades)

這會將 JSON 資料作為字串的嵌套映射輸出到接口,這對於動態檢查和處理資料非常有用。

使用 json:"-" 標籤

您可以使用以下命令從 JSON 編組/解組中排除某些字段json:“-”標籤。如果您想保留某些資料的私有性或避免循環引用,這可能很有用。

type GradeData struct {
    Grades map[string]interface{} `json:"-"`
}

var gradesData GradeData
err := json.Unmarshal([]byte(jsonString), &gradesData.Grades)
fmt.Println(err)

fmt.Printf("%#v\n", gradesData)

在此範例中,Grades 欄位不會包含在 GradesData 的 JSON 表示中,但仍可用於儲存和擷取 JSON data.

結論

透過使用map[string]interface{}和json:"-"標籤,你可以成功地將未知格式的JSON 資料解組到GoLang 結構中。這種方法可讓您優雅地處理動態和未知的 JSON 結構。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3