Go語言中,使用JSON是非常常見的操作。JSON是一種輕量級的數據交換格式,因其易于閱讀和編寫而廣泛應用于網絡傳輸和存儲序列化的數據。
在Go中使用JSON需要使用內置的“encoding/json”包。首先需要定義一個結構體類型,結構體中的屬性與JSON中的鍵名一致,具體的如下:
type Person struct { Name string `json:"name"` Age int `json:"age"` Address string `json:"address"` }
在轉換為JSON數據之前,需要將要轉換的數據賦值給剛剛定義的結構體類型。
data := Person{"Zhang San", 20, "Beijing"}
接下來,我們可以使用“json.Marshal()”方法將結構體類型數據轉換為JSON格式的byte數組。例如:
jsonBytes, err := json.Marshal(data) if err != nil { fmt.Println("json.Marshal error:", err) return } fmt.Println(string(jsonBytes))
同樣,我們也可以使用“json.Unmarshal()”方法將JSON格式的byte數組轉換為結構體類型數據。例如:
jsonStr := `{"name":"Lisi","age":30,"address":"Shanghai"}` var p Person err = json.Unmarshal([]byte(jsonStr), &p) if err != nil { fmt.Println("json.Unmarshal error:", err) return } fmt.Println(p)
通過以上代碼,我們可以輕松地實現Go語言中JSON數據的序列化和反序列化操作。