问题:数据结构中的值 带有  &  >   < 等符号,当我们要将 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())

参考阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。