Go語言是一種非常強大的編程語言,它提供了許多操作JSON數據的方法,可以幫助開發者更加有效地處理和管理JSON數據。下面我們介紹一些常用的方法。
1. 解析JSON
data := []byte(`{"user":{"name":"Tom","age":20}}`) var obj map[string]interface{} err := json.Unmarshal(data, &obj) if err != nil { panic(err) }
2. 序列化JSON
obj := map[string]interface{}{ "user": map[string]interface{}{ "name": "Tom", "age": 20, }, } data, err := json.Marshal(obj) if err != nil { panic(err) } fmt.Println(string(data))
3. 獲取JSON值
var obj map[string]interface{} err := json.Unmarshal(data, &obj) if err != nil { panic(err) } name := obj["user"].(map[string]interface{})["name"].(string) age := obj["user"].(map[string]interface{})["age"].(float64)
4. 修改JSON值
obj := map[string]interface{}{ "user": map[string]interface{}{ "name": "Tom", "age": 20, }, } obj["user"].(map[string]interface{})["name"] = "Jerry" obj["user"].(map[string]interface{})["age"] = 25 data, err := json.Marshal(obj) if err != nil { panic(err) } fmt.Println(string(data))
5. 刪除JSON值
var obj map[string]interface{} err := json.Unmarshal(data, &obj) if err != nil { panic(err) } delete(obj["user"].(map[string]interface{}), "age") data, err = json.Marshal(obj) if err != nil { panic(err) } fmt.Println(string(data))
綜上所述,Go語言提供了多種操作JSON數據的方法,可以根據需求選擇合適的方法進行處理。
上一篇mysql單表多表聯查
下一篇html怎么插圖代碼