色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

golang json 轉struct

張吉惟2年前8瀏覽0評論

在Go語言中,JSON是常用的數(shù)據(jù)格式之一。當我們從JSON數(shù)據(jù)中解析出需要的數(shù)據(jù)時,可以將JSON數(shù)據(jù)轉化為Go語言中的結構體,這樣可以更方便地訪問和操作數(shù)據(jù)。

下面是一段將JSON數(shù)據(jù)轉化為Go語言結構體的示例代碼:

type Person struct {
Name    string `json:"name"`
Age     int    `json:"age"`
Address string `json:"address"`
}
func main() {
jsonData := []byte(`{"name":"Tom","age":25,"address":"Beijing"}`)
person := Person{}
err := json.Unmarshal(jsonData, &person)
if err != nil {
panic(err)
}
fmt.Println(person.Name)
fmt.Println(person.Age)
fmt.Println(person.Address)
}

代碼解釋:

首先,我們定義了一個Person結構體,結構體中包含了三個字段,分別是Name、Age和Address。需要注意的是,在結構體的字段后面使用了`json:"字段名"`的標記,這個標記是為了告訴JSON解析器在解析JSON數(shù)據(jù)時使用的字段名。

接下來,在main函數(shù)中,我們將JSON數(shù)據(jù)解析為Person類型的實例。首先,我們將JSON數(shù)據(jù)轉化為字節(jié)數(shù)組:

jsonData := []byte(`{"name":"Tom","age":25,"address":"Beijing"}`)

然后,我們定義一個Person類型的實例,并調用json.Unmarshal方法將JSON數(shù)據(jù)解析到這個實例中:

person := Person{}
err := json.Unmarshal(jsonData, &person)
if err != nil {
panic(err)
}

最后,我們打印出解析得到的Person實例的Name、Age和Address字段的值:

fmt.Println(person.Name)
fmt.Println(person.Age)
fmt.Println(person.Address)

這樣,我們就可以使用Go語言中的結構體來方便地訪問和操作JSON數(shù)據(jù)了。