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

go json 文件

Go語(yǔ)言是目前最流行的一種編程語(yǔ)言,它支持處理JSON(JavaScript對(duì)象表示法)文件,使得在開(kāi)發(fā)Web應(yīng)用和RESTful API時(shí)取代XML和其他數(shù)據(jù)格式成為優(yōu)選。本文將介紹Go語(yǔ)言怎樣處理JSON文件。

// 示例代碼1
import (
"encoding/json"
"fmt"
)
type Person struct {
Name    string
Age     int
Address Address
}
type Address struct {
Province string
City     string
}
func main() {
p := Person{Name: "張三", Age: 21, Address: Address{Province: "浙江省", City: "杭州市"}}
b, err := json.Marshal(p)
if err != nil {
panic(err)
}
fmt.Println(string(b))
}

在示例代碼1中,包含一個(gè)Person結(jié)構(gòu)體和一個(gè)Address結(jié)構(gòu)體。首先,用`json.Marshal()`函數(shù)將Person結(jié)構(gòu)體轉(zhuǎn)換為JSON格式,然后使用`fmt.Println()`函數(shù)將轉(zhuǎn)換后的JSON格式輸出到控制臺(tái)。

// 示例代碼2
type Person struct {
Name    string `json:"name"`
Age     int    `json:"age"`
Address struct {
Province string `json:"province"`
City     string `json:"city"`
} `json:"address"`
}
func main() {
var p Person
jsonStr := `{"name":"張三","age":21,"address":{"province":"浙江省","city":"杭州市"}}`
json.Unmarshal([]byte(jsonStr), &p)
fmt.Println(p.Name, p.Age, p.Address.Province, p.Address.City)
}

在示例代碼2中,首先定義一個(gè)Person結(jié)構(gòu)體。Person結(jié)構(gòu)體的各字段使用了`json`標(biāo)簽進(jìn)行了注釋,以便在編碼JSON和解碼JSON時(shí)使用。然后,使用`json.Unmarshal()`函數(shù)將JSON字符串轉(zhuǎn)換為Person結(jié)構(gòu)體,然后將解碼后的Person結(jié)構(gòu)體的各字段輸出到控制臺(tái)。

總體來(lái)說(shuō),Go語(yǔ)言對(duì)JSON的處理很簡(jiǎn)單,只要定義好結(jié)構(gòu)體,使用`json.Marshal()`函數(shù)將結(jié)構(gòu)體轉(zhuǎn)換為JSON字符串,使用`json.Unmarshal()`函數(shù)將JSON字符串轉(zhuǎn)換為結(jié)構(gòu)體即可。Go語(yǔ)言的JSON處理函數(shù)還支持縮進(jìn)、HTML逸碼,以及接收流式JSON等特性,具體使用時(shí)可詳細(xì)查看相關(guān)文檔。