json.Marshal包中的代码"encoding/json"将值编码为JSON。
参数是要编码的值。返回的值是一个字节数组,表示JSON编码的输入(成功时)和一个错误(失败时)。
decodedValue := []string{"foo", "bar"} // 编码值 data, err := json.Marshal(decodedValue) // 检查编码是否成功 if err != nil { panic(err) } // 打印出JSON编码的字符串 // 请记住,数据是[] 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)) // 真正 data, _ = json.Marshal(map[string]int{"London": 18, "Rome": 30}) fmt.Println(string(data)) // {"London":18,"Rome":30}
操场
对简单变量进行编码有助于理解Go中JSON编码的工作方式。但是,在现实世界中,您可能会编码存储在结构中的更复杂的数据。