Я новичок в Go, и мне трудно работать с json файлами. У меня есть данные JSON, которые я хочу преобразовать в карту типа map [string] * SomeStruct
Sample 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] {}. Как можно демаршалировать в карту [строка] * 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)
}
Я был бы очень признателен, если бы кто-нибудь мог мне помочь с этим.