首頁 > 後端開發 > Golang > 主體

golang string 轉json

WBOY
發布: 2023-05-13 10:04:07
原創
3270 人瀏覽過

在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!