Go語言中讀取JSON數(shù)據(jù)并轉(zhuǎn)化為結(jié)構(gòu)體,可以使用內(nèi)置的encoding/json包。下面是簡單的使用示例。
// 定義結(jié)構(gòu)體 type Person struct { Name string Age int Gender string } // 讀取JSON數(shù)據(jù) jsonData := []byte(`{ "name": "Tom", "age": 30, "gender": "male" }`) // 轉(zhuǎn)化為結(jié)構(gòu)體 var person Person err := json.Unmarshal(jsonData, &person) if err != nil { log.Fatal(err) } // 輸出結(jié)果 fmt.Println(person.Name) fmt.Println(person.Age) fmt.Println(person.Gender)
首先需要定義一個與JSON數(shù)據(jù)對應(yīng)的結(jié)構(gòu)體,即需要包含與JSON數(shù)據(jù)中相同的字段和類型。然后使用json.Unmarshal函數(shù)將JSON數(shù)據(jù)轉(zhuǎn)化為該結(jié)構(gòu)體。
需要注意的是,在使用json.Unmarshal函數(shù)時,需要將要轉(zhuǎn)化成結(jié)構(gòu)體的變量的地址傳遞給函數(shù),即使用取地址符號&。
轉(zhuǎn)化成功后,即可按照結(jié)構(gòu)體的格式訪問其中的字段。