我是 Go 新手,我很难处理 json 文件。我有 JSON 数据,我想将其转换为 map[string]*SomeStruct 类型的地图
示例 JSON:
{
"Component":
{
"fieldName": "component.name",
"fieldType": "STR"
},
"Collection": {
"fieldName": "collection",
"fieldType": "INT"
},
"OldgenUse" : {
"fieldName" : "oldgen.use",
"fieldType": "INT"
},
}
我想阅读 JSON 并构建这样的地图:
expcMetadata := map[string]*FieldMap{
"Component": {FieldName: "component.name", FieldType: "STR"},
"Collection": {FieldName: "collection", FieldType: "INT"},
"OldGenUse": {FieldName: "oldgen.use", FieldType: "INT"},
}
我能够解组为 map[string]interface{}。如何解组为 map[string]*FieldMap
我的代码给了我一张空地图:
type FieldMap struct {
FieldName string `json:"fieldName"`
FieldType string `json:"fieldType"`
}
type JSONType struct {
FieldSet map[string]FieldMap `json:"fields"`
}
func main() {
jsonFile, er := os.Open("fields.json")
if er != nil {
fmt.Println(er)
}
fmt.Println("Successfully Opened users.json")
defer jsonFile.Close()
byteValue, _ := ioutil.ReadAll(jsonFile)
// var m map[string]interface{}
var m JSONType
err := json.Unmarshal(byteValue, &m)
if err != nil {
log.Fatal(err)
}
fmt.Println(m)
}
如果有人可以帮助我解决这个问题,我将不胜感激。
www说
拉莫斯之舞
相关分类