溫馨提示×

golang []byte轉json和json轉[]byte

小云
471
2023-09-13 05:58:34
欄目: 編程語言

在Go語言中,可以使用encoding/json包來實現[]byte與JSON之間的轉換。

[]byte轉換為JSON,可以使用json.Marshal()函數,它接受一個任意類型的值作為參數,返回一個JSON格式的[]byte。例如:

package main
import (
"encoding/json"
"fmt"
)
func main() {
data := []byte("Hello, World!")
jsonData, err := json.Marshal(data)
if err != nil {
fmt.Println("JSON encoding error:", err)
return
}
fmt.Println(string(jsonData))
}

輸出結果為:

"SGVsbG8sIFdvcmxkIQ=="

將JSON轉換為[]byte,可以使用json.Unmarshal()函數,它接受一個JSON格式的[]byte作為參數,并將JSON解碼為相應的Go值。例如:

package main
import (
"encoding/json"
"fmt"
)
func main() {
jsonData := []byte(`"SGVsbG8sIFdvcmxkIQ=="`)
var data []byte
err := json.Unmarshal(jsonData, &data)
if err != nil {
fmt.Println("JSON decoding error:", err)
return
}
fmt.Println(string(data))
}

輸出結果為:

Hello, World!

請注意,在使用json.Unmarshal()函數時,需要將目標變量的指針作為參數傳遞給函數。這樣才能將解碼后的值正確地賦給目標變量。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女