解组未知格式的 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 解组为 GoLang 结构,以 JSON 形式返回
解决方案:
选项 1:使用 map[string] 接口{}
因为 JSON 键是未知,我们可以使用map[string]interface{}来解组
var grades map[string]interface{} err := json.Unmarshal([]byte(jsonString), &grades) fmt.Println(err) fmt.Printf("%#v\n", grades)
选项 2:使用结构
如果需要结构,请使用 json:"-" 标记在 JSON 编组期间忽略字段/正在解组。
type GradeData struct { Grades map[string]interface{} `json:"-"` } err := json.Unmarshal([]byte(jsonString), &gradesData.Grades) fmt.Println(err) fmt.Printf("%#v\n", gradesData)
以上是如何在 Go 中解组未知的 JSON 数据结构?的详细内容。更多信息请关注PHP中文网其他相关文章!