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

go的json寫法

黃文隆1年前9瀏覽0評論

Go語言提供了豐富的json編碼和解碼功能,可以輕松地將數(shù)據(jù)轉(zhuǎn)換成json格式的字符串,或者將json字符串反編碼為相應(yīng)的Go數(shù)據(jù)結(jié)構(gòu)。

type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
person := Person{
Name: "張三",
Age:  18,
}
// 編碼為json字符串
jsonBytes, err := json.Marshal(person)
if err != nil {
fmt.Println("json.Marshal failed:", err)
return
}
fmt.Println(string(jsonBytes))
// 解碼json字符串
var newPerson Person
err = json.Unmarshal(jsonBytes, &newPerson)
if err != nil {
fmt.Println("json.Unmarshal failed:", err)
return
}
fmt.Printf("name: %s, age: %d\n", newPerson.Name, newPerson.Age)
}

在結(jié)構(gòu)體定義中,使用`json:"屬性名"`的方式來指定json的字段名。在編碼時,通過json.Marshal函數(shù)將數(shù)據(jù)轉(zhuǎn)換成json格式的字符串;在解碼時,使用json.Unmarshal函數(shù)將json字符串轉(zhuǎn)換為Go數(shù)據(jù)結(jié)構(gòu)。

除了結(jié)構(gòu)體之外,Go語言還提供了map、slice等數(shù)據(jù)結(jié)構(gòu)的json編解碼功能。json.MarshalIndent函數(shù)可以方便地輸出格式化良好的json字符串,json.Decoder和json.Encoder提供了流式讀寫json數(shù)據(jù)的功能。