基本 JSON 編碼

json.Marshalencoding/json 編碼值 JSON 包。

引數是要編碼的值。返回的值是一個位元組陣列,表示 JSON 編碼的輸入(成功時)和錯誤(失敗時)。

decodedValue := []string{"foo", "bar"}

// encode the value
data, err := json.Marshal(decodedValue)

// check if the encoding is successful
if err != nil {
    panic(err)
}

// print out the JSON-encoded string
// remember that data is a []byte
fmt.Println(string(data))
// "["foo","bar"]"

操場

以下是內建資料型別編碼的一些基本示例:

var data []byte

data, _ = json.Marshal(1)
fmt.Println(string(data))
// 1

data, _ = json.Marshal("1")
fmt.Println(string(data))
// "1"

data, _ = json.Marshal(true)
fmt.Println(string(data))
// true

data, _ = json.Marshal(map[string]int{"London": 18, "Rome": 30})
fmt.Println(string(data))
// {"London":18,"Rome":30}

操場

編碼簡單變數有助於理解 JSON 編碼在 Go 中的工作原理。但是,在現實世界中,你可能會編碼儲存在結構中的更復雜的資料