在Go語言中,我們可以使用標準庫中的encoding/json包來處理JSON數據。
在處理JSON數據時,我們需要先定義一個對應的數據結構。例如,我們有如下JSON數據:
{ "name": "張三", "age": 28, "married": true, "children": [ "小紅", "小明" ] }
我們可以定義一個對應的結構體來表示這個數據:
type Person struct { Name string `json:"name"` Age int `json:"age"` Married bool `json:"married"` Children []string `json:"children"` }
在結構體中,我們需要給每個字段添加一個json
標簽來指定其對應的JSON字段名。
接下來,我們就可以使用json.Marshal
函數將結構體序列化為JSON數據:
p := Person{ Name: "張三", Age: 28, Married: true, Children: []string{"小紅", "小明"}, } data, err := json.Marshal(p) if err != nil { fmt.Println("JSON序列化失敗:", err) return } fmt.Println(string(data)) // 輸出:{"name":"張三","age":28,"married":true,"children":["小紅","小明"]}
如果我們有一個JSON數據需要反序列化為結構體,可以使用json.Unmarshal
函數:
data := []byte(`{"name":"張三","age":28,"married":true,"children":["小紅","小明"]}`) var p Person err := json.Unmarshal(data, &p) if err != nil { fmt.Println("JSON反序列化失敗:", err) return } fmt.Println(p.Name) // 輸出:張三 fmt.Println(p.Children[0]) // 輸出:小紅
以上就是Go語言使用JSON的基本方法。
上一篇python 手推算法
下一篇mysql單表自關聯查詢