在golang中,將string類型轉換成json物件可以使用標準庫中的json套件。
首先,我們可以使用json.Marshal()函數將golang中的物件轉換成json格式的字串。例如:
type Person struct { Name string `json:"name"` Age int `json:"age"` } p := Person{Name: "Tom", Age: 29} jsonStr, err := json.Marshal(p) if err != nil { fmt.Println("json.Marshal failed:", err) } fmt.Println(string(jsonStr))
以上程式碼將會輸出以下結果:
{"name":"Tom","age":29}
接下來,我們可以使用json.Unmarshal()函數將json字串轉換成golang中的物件。例如:
jsonStr := `{"name":"Tom","age":29}` var p Person err := json.Unmarshal([]byte(jsonStr), &p) if err != nil { fmt.Println("json.Unmarshal failed:", err) } fmt.Println(p.Name, p.Age)
以上程式碼將會輸出以下結果:
Tom 29
要注意的是,在進行json解析時,使用的是[]byte類型的參數,因此需要透過強制型別轉換將string型別轉換成[]byte型別。
此外,也可以直接使用json.NewDecoder()函數將json格式的字串解析成json對象,例如:
jsonStr := `{"name":"Tom","age":29}` var data interface{} decoder := json.NewDecoder(strings.NewReader(jsonStr)) err := decoder.Decode(&data) if err != nil { fmt.Println("json.Unmarshal failed:", err) } fmt.Println(data)
以上程式碼將會輸出以下結果:
map[name:Tom age:29]
這樣,我們就可以使用golang中的標準函式庫json套件將string型別轉換成json物件了。
以上是golang string 轉json的詳細內容。更多資訊請關注PHP中文網其他相關文章!