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

golang json節點提取

林雅南2年前9瀏覽0評論

JSON是一種輕量級的數據交換格式,常用于前后端數據傳輸、API接口等。在Golang中,可以利用標準庫中的encoding/json包來操作JSON數據。本文將介紹如何使用Golang提取JSON數據中的節點。

首先,我們需要定義一個結構體來對應JSON數據中的節點。例如,以下是一個JSON數據:

{
"name": "John",
"age": 30,
"email": "john@example.com"
}

我們可以定義一個與其對應的結構體:

type Person struct {
Name  string `json:"name"`
Age   int    `json:"age"`
Email string `json:"email"`
}

接下來,我們可以使用Golang中的json.Unmarshall()函數將JSON數據解碼為結構體:

jsonData := []byte(`{
"name": "John",
"age": 30,
"email": "john@example.com"
}`)
var person Person
err := json.Unmarshal(jsonData, &person)
if err != nil {
log.Fatal(err)
}

現在,我們已經成功將JSON數據解碼為結構體。接下來,我們可以提取其中的節點值:

name := person.Name
age := person.Age
email := person.Email
fmt.Println(name, age, email) // John 30 john@example.com

如果JSON數據中的節點是嵌套的,我們可以通過類似的方式提取子節點:

{
"name": "John",
"age": 30,
"address": {
"city": "New York",
"country": "USA"
}
}
type Address struct {
City    string `json:"city"`
Country string `json:"country"`
}
type Person struct {
Name    string  `json:"name"`
Age     int     `json:"age"`
Address Address `json:"address"`
}
var person Person
err := json.Unmarshal(jsonData, &person)
if err != nil {
log.Fatal(err)
}
city := person.Address.City
country := person.Address.Country
fmt.Println(city, country) // New York USA

通過以上方式,我們就可以在Golang中輕松地提取JSON數據中的節點值。