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

golang json轉(zhuǎn)換

錢琪琛1年前9瀏覽0評論

JSON被廣泛用于通過網(wǎng)絡(luò)傳輸數(shù)據(jù),因為它是輕量級并且易于讀寫。Go語言自帶了對JSON的支持。下面我們來介紹一下如何在Go中轉(zhuǎn)換JSON。

首先,我們需要將Go語言的數(shù)據(jù)類型轉(zhuǎn)換為JSON格式。可以通過使用Go的內(nèi)置庫“encoding/json”來實現(xiàn)。以下是將Go結(jié)構(gòu)體轉(zhuǎn)換為JSON的示例代碼。

//定義結(jié)構(gòu)體
type Person struct {
	Name string
	Age  int
}
//將結(jié)構(gòu)體轉(zhuǎn)換為JSON
p := Person{Name: "張三", Age: 20}
b, err := json.Marshal(p)
if err != nil {
panic(err)
}
fmt.Println(string(b))
//輸出:{"Name":"張三","Age":20}

通過調(diào)用“Marshal”函數(shù),將結(jié)構(gòu)體轉(zhuǎn)換成了JSON格式的字節(jié)數(shù)組。我們可以使用“string”函數(shù)將字節(jié)數(shù)組轉(zhuǎn)換為字符串輸出。

接下來,我們需要將JSON格式的數(shù)據(jù)轉(zhuǎn)換為Go語言的數(shù)據(jù)類型。可以通過使用“Unmarshal”函數(shù)實現(xiàn)以下代碼。

//定義結(jié)構(gòu)體
type Person struct {
	Name string
	Age  int
}
//將JSON轉(zhuǎn)換為結(jié)構(gòu)體
data := []byte(`{"Name":"張三","Age":20}`)
p := Person{}
err := json.Unmarshal(data, &p)
if err != nil {
panic(err)
}
fmt.Println(p)
//輸出:{張三 20}

通過調(diào)用“Unmarshal”函數(shù),我們將JSON格式的字節(jié)數(shù)組轉(zhuǎn)換為了Go語言的結(jié)構(gòu)體類型。需要指定一個指向結(jié)構(gòu)體的指針作為參數(shù)。在這個例子中,我們定義了一個空的結(jié)構(gòu)體“p”來存儲轉(zhuǎn)換得到的數(shù)據(jù)。

總結(jié):Go語言的“encoding/json”庫提供了易于使用的函數(shù)來將Go數(shù)據(jù)類型轉(zhuǎn)換為JSON格式,以及將JSON數(shù)據(jù)轉(zhuǎn)換為Go數(shù)據(jù)類型。這些函數(shù)可以方便地在網(wǎng)絡(luò)通信中傳輸或存儲數(shù)據(jù)。