欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go json字符串解析

榮姿康1年前11瀏覽0評論

在Go中,解析JSON字符串是一個非常常見的任務。Go提供了一個內置的"encoding/json"包,用于編碼和解碼JSON數據。

JSON是一種輕量級的數據交換格式,它是基于JavaScript語言的一個子集。JSON 程序中常用的數據類型有數字、字符串、布爾、數組和對象。下面我們來看一個示例JSON字符串:

{
"name": "張三",
"age": 25,
"married": false,
"hobby": ["籃球", "旅游"],
"address": {
"city": "北京",
"province": "北京"
}
}

該JSON字符串表示一個人的基本信息。我們可以使用Go來解析并獲取這些信息。下面是一個簡單的解析示例:

package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name    string   `json:"name"`
Age     int      `json:"age"`
Married bool     `json:"married"`
Hobby   []string `json:"hobby"`
Address struct {
City     string `json:"city"`
Province string `json:"province"`
} `json:"address"`
}
func main() {
jsonStr := `{
"name": "張三",
"age": 25,
"married": false,
"hobby": ["籃球", "旅游"],
"address": {
"city": "北京",
"province": "北京"
}
}`
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("姓名:", p.Name)
fmt.Println("年齡:", p.Age)
fmt.Println("婚否:", p.Married)
fmt.Println("愛好:", p.Hobby)
fmt.Println("城市:", p.Address.City)
fmt.Println("省份:", p.Address.Province)
}

代碼中定義了一個Person結構體,它包含了所有的JSON字段。Unmarshal函數用于將JSON字符串解析為結構體,并自動將JSON字段映射到相應的結構體字段中。最后我們可以使用解析后的結構體打印出所有字段的值。

以上就是使用Go解析JSON字符串的基本方法。在實際開發中,我們可以根據需要設置不同的選項來進行更高級的JSON解析操作。