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

go多層級(jí)json解析

在進(jìn)行Go語(yǔ)言的JSON解析時(shí),常會(huì)遇到多層級(jí)的JSON數(shù)據(jù)。本文將介紹如何使用Go語(yǔ)言對(duì)多層級(jí)的JSON進(jìn)行解析。

Go語(yǔ)言提供了標(biāo)準(zhǔn)庫(kù)`encoding/json`來(lái)解析JSON數(shù)據(jù)。首先,我們需要定義一個(gè)結(jié)構(gòu)體來(lái)存儲(chǔ)JSON數(shù)據(jù)。假設(shè)我們有如下JSON數(shù)據(jù):

{
"name": "John",
"age": 30,
"addresses": [
{"city": "New York", "street": "Broadway"},
{"city": "London", "street": "Baker Street"}
]
}

我們可以定義一個(gè)結(jié)構(gòu)體來(lái)表示上述JSON數(shù)據(jù):

type Person struct {
Name      string
Age       int
Addresses []Address
}
type Address struct {
City   string
Street string
}

Person結(jié)構(gòu)體中包含一個(gè)字符串類(lèi)型的Name和一個(gè)整型的Age,以及一個(gè)[]Address類(lèi)型的Addresses。Address結(jié)構(gòu)體中包含一個(gè)字符串類(lèi)型的City和一個(gè)字符串類(lèi)型的Street。

接著,我們可以使用`json.Unmarshal()`函數(shù)將JSON數(shù)據(jù)解析到Person結(jié)構(gòu)體中:

jsonStr := `{
"name": "John",
"age": 30,
"addresses": [
{"city": "New York", "street": "Broadway"},
{"city": "London", "street": "Baker Street"}
]
}`
var person Person
err := json.Unmarshal([]byte(jsonStr), &person)
if err != nil {
log.Fatal(err)
}
fmt.Println(person.Name) // "John"
fmt.Println(person.Age)  // 30
fmt.Println(person.Addresses[0].City)   // "New York"
fmt.Println(person.Addresses[0].Street) // "Broadway"

通過(guò)調(diào)用`json.Unmarshal()`函數(shù),我們將JSON數(shù)據(jù)解析到Person結(jié)構(gòu)體中,并輸出結(jié)果。可以看到,我們成功地解析了多層級(jí)的JSON數(shù)據(jù)。