Golang 是一種高效、強類型、編譯型語言,它內置有對 Json 數據的支持,可以很方便地處理 Json 數據。
通常情況下,使用 Golang 處理 Json 數據需要先將 Json 數據解析為內存中的一個結構體,然后對該結構體進行操作。使用 Golang 處理 Json 數據通常有兩個步驟:1、將 Json 數據解析成一個結構體;2、從結構體中讀取或寫入數據。
type Person struct { Name string `json:"name"` Age int `json:"age"` Address Address `json:"address"` } type Address struct { City string `json:"city"` District string `json:"district"` Street string `json:"street"` } func main() { jsonStr := `{"name":"Tom", "age":18, "address": {"city":"Beijing", "district":"Haidian", "street":"Zhongguancun"}}` var p Person err := json.Unmarshal([]byte(jsonStr), &p) if err != nil { panic(err) } fmt.Printf("Name: %v, Age: %v, City: %v\n", p.Name, p.Age, p.Address.City) p.Age = 20 p.Address.City = "Shanghai" newJsonStr, err := json.Marshal(p) if err != nil { panic(err) } fmt.Println(string(newJsonStr)) }
如上述代碼示例所示,我們定義了一個 Person 結構體和一個 Address 結構體,分別表示人員信息和所居住的地址信息。我們可以使用 json.Unmarshal() 將 Json 數據解析為 Person 結構體,然后訪問該結構體的字段值;同時我們也可以修改該結構體的字段值并使用 json.Marshal() 將其轉換為 Json 數據。
綜上所述,Golang 對 Json 數據的支持十分便捷強大,可以滿足大多數 Json 數據處理的需求。
上一篇c json 數據輸出
下一篇mysql分表中間件推薦