如何解析具有已知和未知键/值对的 JSON 字符串进入 Go 结构体?未知字段可以具有任何名称和值类型(字符串、布尔、float64 或 int)。
使用已知字段和未知字段的映射切片创建一个结构体:
type Message struct {
Known1 string `json:"known1"`
Known2 string `json:"known2"`
Unknowns []map[string]interface{}
}
将 JSON 字符串解组到此结构中:
json.Unmarshal([]byte(jsonMsg), &msg)
Unknowns 字段将包含一个列表表示未知键/值对的映射。
双重解组:
解组和类型转换:
所有三种解决方案都是有效的,但最简单和最优雅的是最初的基于结构的方法。它避免了额外的解组或手动类型转换的需要。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3