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