首頁 >後端開發 >Golang >如何在 Go 中解組未知的 JSON 資料結構?

如何在 Go 中解組未知的 JSON 資料結構?

Susan Sarandon
Susan Sarandon原創
2024-11-26 01:15:15603瀏覽

How to Unmarshal Unknown JSON Data Structures in Go?

解組未知格式的JSON 資料

提供的JSON 遵循特定模式:

{
SUBJECT1: [{Student_Name1: Grade, Student_Name2: Grade, ... , Student_Name3: Grade, timestamp: Timestamp(...)}],
SUBJECT2: [{Student_Name4: Grade, Student_Name6: Grade, ... , Student_Name5: Grade, timestamp: Timestamp(...)}]
...
SUBJECTN: [{Student_Name1: Grade, Student_Name6: Grade, ... , Student_Name9: Grade, timestamp: Timestamp(...)}]
}

提供的JSON 遵循特定模式:

提供的JSON 遵循特定模式:

提供的JSON 遵循特定模式:

提供的JSON 遵循特定模式:

目標:

將JSON 解組為GoLang 結構,以JSON形式回傳
var grades map[string]interface{}
err := json.Unmarshal([]byte(jsonString), &grades)
fmt.Println(err)
fmt.Printf("%#v\n", grades)

解:

選項 1:使用 map[string] 介面{}
type GradeData struct {
    Grades map[string]interface{} `json:"-"`
}

err := json.Unmarshal([]byte(jsonString), &gradesData.Grades)
fmt.Println(err)
fmt.Printf("%#v\n", gradesData)
因為 JSON鍵是未知,我們可以使用map[string]interface{}來解組選項2:使用結構如果需要結構,請使用json :"-" 標記在JSON 編組期間忽略字段/正在解組。

以上是如何在 Go 中解組未知的 JSON 資料結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn