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

go讀寫json文件

Go語(yǔ)言是一種功能強(qiáng)大的編程語(yǔ)言,它提供了豐富的標(biāo)準(zhǔn)庫(kù),包括用于讀寫JSON文件的功能。

在Go語(yǔ)言中,我們可以使用encoding/json包來讀寫JSON文件。該包提供了Marshal和Unmarshal函數(shù),分別用于將Go語(yǔ)言結(jié)構(gòu)轉(zhuǎn)換為JSON格式,以及將JSON格式轉(zhuǎn)換為Go語(yǔ)言結(jié)構(gòu)。

type Person struct {
Name     string `json:"name"`
Age      int    `json:"age"`
Address  string `json:"address"`
Phone    string `json:"phone"`
}
func main() {
p1 := Person{
Name:    "Tom",
Age:     20,
Address: "Beijing",
Phone:   "18888888888",
}
// 將Go結(jié)構(gòu)體轉(zhuǎn)換成JSON字符串
bytes, err := json.Marshal(p1)
if err != nil {
log.Fatal(err)
}
// 將JSON字符串寫入文件
err = ioutil.WriteFile("person.json", bytes, 0644)
if err != nil {
log.Fatal(err)
}
// 從文件中讀取JSON字符串
bytes, err = ioutil.ReadFile("person.json")
if err != nil {
log.Fatal(err)
}
// 將JSON字符串轉(zhuǎn)換成Go結(jié)構(gòu)體
var p2 Person
err = json.Unmarshal(bytes, &p2)
if err != nil {
log.Fatal(err)
}
fmt.Println(p2.Name)
fmt.Println(p2.Age)
fmt.Println(p2.Address)
fmt.Println(p2.Phone)
}

在這個(gè)示例中,我們定義了一個(gè)Person結(jié)構(gòu)體,并將其轉(zhuǎn)換為JSON格式來寫入文件。接著我們從文件中讀取JSON字符串,并將其轉(zhuǎn)換為Go結(jié)構(gòu)體。最后,我們打印了從JSON字符串中解析出來的Person結(jié)構(gòu)體的字段。