欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

golang 讀寫json文件

golang是一種編程語言,使用它可以輕松地讀寫json文件。在這篇文章中,我們將介紹如何在golang中使用標(biāo)準(zhǔn)庫來解析、操作和保存json文件。

在go中,使用標(biāo)準(zhǔn)庫“encoding/json”來解析json文件。首先我們需要定義一個(gè)結(jié)構(gòu)體來表示json文件的數(shù)據(jù)結(jié)構(gòu)。然后我們可以使用json.Unmarshal()函數(shù)將文件讀入到內(nèi)存中。

type Person struct {
Name    string `json:"name"`
Age     int    `json:"age"`
Address string `json:"address"`
}
func main() {
file, err := os.Open("data.json")
if err != nil {
log.Fatal(err)
}
defer file.Close()
decoder := json.NewDecoder(file)
persons := []Person{}
if err := decoder.Decode(&persons); err != nil { 
log.Fatal(err)
}
log.Println(persons)
}

在上面的代碼中,我們定義了一個(gè)Person結(jié)構(gòu)體,并使用json.Unmarshal()函數(shù)將data.json文件中的數(shù)據(jù)解析成一個(gè)Person類型的切片。

如果我們想要更新json文件中的數(shù)據(jù),我們可以簡(jiǎn)單地將內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)編碼為json格式,并使用標(biāo)準(zhǔn)庫“io/ioutil”將其存儲(chǔ)在文件系統(tǒng)中。以下是一個(gè)例子:

func saveJsonToFile(filename string, data []byte) error {
return ioutil.WriteFile(filename, data, 0666)
}
func main() {
persons := []Person{
{Name: "Bob", Age: 30, Address: "China"},
{Name: "Alice", Age: 25, Address: "Japen"},
}
data, err := json.MarshalIndent(persons, "", " ")
if err != nil {
log.Fatal(err)
}
if err := saveJsonToFile("data.json", data); err != nil {
log.Fatal(err)
}
}

在上面的代碼中,我們使用json.MarshalIndent()函數(shù)將Person類型的切片轉(zhuǎn)換為json格式的字符串,并保存到名為"data.json"的文件中。

總的來說,讀寫json文件在golang中十分容易。我們只需要使用標(biāo)準(zhǔn)庫、定義結(jié)構(gòu)體、解析和編碼json文件即可輕松操縱json數(shù)據(jù)。