golang json.Marshal() 结构体、map 携带 &符号 转成 “\u0026“

问题:数据结构中的值 带有  &  >   < 等符号,当我们要将 struct   map  转成json时,使用

json.Marshal() 函数,此函数会将 值中的  &  <    >  符号转义  为  类似  "\u0026"

像我们某个结构体中携带了 路径及参数  http://baidu.com?a=123&b=456,那么转义了就会出错,

解决办法:

parm := make(map[string]string)
parm["path"] = "http://baidu.com?a=djflks&b=1231131"

//转成json 不转义特殊字符    
bf := bytes.NewBuffer([]byte{})
jsonEncoder := json.NewEncoder(bf)
jsonEncoder.SetEscapeHTML(false)
jsonEncoder.Encode(parm)
fmt.Println(bf.String())

你可能感兴趣的:(go,golang,json,前端)