package main import ( "fmt" "encoding/json" ) func main() { // json encode j1 := make(map[string]interface{}) j1["name"] = "" j1["url"] = "https://www.php.cn/" js1, err := json.Marshal(j1) if err != nil { panic(err) } println(string(js1)) // json decode j2 := make(map[string]interface{}) err = json.Unmarshal(js1, &j2) if err != nil { panic(err) } fmt.Printf("%#v\n", j2) }
golang标准库encoding/json是用来处理json数据的,它有两组函数或者方法来处理json数据。
编码函数
编码函数: func Marshal(v interface{}) ([]byte, error)
编码规则: 递归遍历v,v中的一个值实现了Marshaler interface,调用MarshalJSON method去编码,如果没有这种方法,但是实现了encoding.TextMarshl那么使用MarshalText去编码。
解码函数
解码函数: func Unmarshal(data []byte, v interface{}) error
data 是一个JSON数据
v 是存储解码数据的指针
error 返回的错误类型
以上就是golang json乱码解决方法的详细内容,更多请关注其它相关文章!