在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解析操作。
上一篇vue實現點擊彈窗
下一篇mysql判斷身份證號