使用json.Marshal 如果字符串中含有 < > &字符会出现自动转义问题 不太符合预期输出

原始字符 转义后
&         \u0026
< \u003c
> \u003e

原始的json.marshal会开启EscapeHTML 解决代码如下

package mainimport ("bytes""encoding/json""fmt"
)type Test struct {Data string
}func main() {t := Test{Data: "http:// 127.0.0.1/test?name=1&age=3"}bytes, err := json.Marshal(t)fmt.Println(string(bytes), err)bytes, err = JsonMarshal(t)fmt.Println(string(bytes), err)
}func JsonMarshal(data any) ([]byte, error) {bf := bytes.NewBuffer([]byte{})jsonEncoder := json.NewEncoder(bf)jsonEncoder.SetEscapeHTML(false)if err := jsonEncoder.Encode(data); err != nil {return nil, err}return bf.Bytes(), nil
}

golang json Marshal遇到的字符转义相关推荐

  1. [Golang] json.Marshal问题总结

    1.Quiz 有如下一个例子: package mainimport ("encoding/json""fmt""time" )type R ...

  2. 记一次golang/json转义问题

    问题:在golang中使用json.marshal时发现会出现>,&等HTML特殊字符被转义 这是由于使用json.marshal时默认escapeHTML为true导致. //mars ...

  3. Go json.Marshal禁用escapeHtml转义

    json.Marshal的escapeHtml默认是关闭的,如何打开呢? package mainimport ("bytes""encoding/json"& ...

  4. Golang json 中文marshal

    今天遇到了坑, golang 直接json.Marshal 中文 客户端不解析.必须是ASCII码才可以,所以学习了下,示例如下: package mainimport ("encoding ...

  5. 【golang程序包推荐分享】分享亿点点golang json操作及myJsonMarshal程序包开发的踩坑经历 :)

    目录[阅读时间:约5分钟] 一.概述 1.Json的作用 2.Go官方 encoding/json 包 3. golang json的主要操作 二.Json Marshal:将数据编码成json字符串 ...

  6. go nil json.marshal 完是null_字节跳动踩坑记#3:Go服务灵异panic

    这个坑比较新鲜,刚填完,还冒着冷气. - 1 - 在字节跳动,我们服务的所有 log 都通过统一的日志库采集到流式日志服务.落地 ES 集群,配上字节云超(sang)级(xin)强(bing)大(ku ...

  7. golang JSON数据编码与解码

    JSON编码常用函数 func NewEncoder(w io.Writer) Encoder NewEncoder创建一个将数据写入w的Encoder. func (enc *Encoder) En ...

  8. php接口 汉字出错 空,php接口开发时,数据解析失败问题,字符转义,编码问题(示例代码)...

    php接口开发时,数据解析失败问题,字符转义,编码问题 情景: A平台--->向接口请求数据---->接口向B平台请求数据---->B平台返回数据给接口---->接口返回数据给 ...

  9. golang json 获取所有key_Golang —— JSON 大法

    「每一个程序员都无法逃脱 JSON 的命运魔爪」 JSON 简直就是一个神奇的玩意,只要是人类可以阅读的数据结构,基本都可以转成 JSON 的数据格式,其在各个平台.组件.模块中穿梭不止,使用上更是游 ...

最新文章

  1. python部署_python项目部署
  2. qpython3h手机版 写弹窗代码_Android Q之气泡弹窗的实现示例
  3. 常见几种浏览器兼容性问题与解决方案
  4. ACL 2020三大奖项出炉!知名学者夫妇曾先后获终身成就奖,时间检验奖回溯95年经典著作...
  5. python numpy.array_python list numpy.array区别
  6. vue-element-admin后台管理模板脚手架
  7. 三种不使用中间参数,交换两个参数的值的方法
  8. zabbix监控之Centos基于LNMP环境安装
  9. 徐起预热realme Q5系列:骁龙870+80W快充 新一代千元机皇
  10. 万达影视发布声明:不存在所谓的从《流浪地球》撤资
  11. 如何使用SQL Server主数据服务替换硬编码的查找
  12. 中国水平板式过滤器行业市场供需与战略研究报告
  13. JS判断浏览器类型与版本
  14. cmd查看当前python安装路径_python环境配置
  15. 课设 stm32的8路电压表采集系统
  16. 计算机维修兴趣小组,计算机兴趣小组章程
  17. 认真学习设计模式之适配器模式(Adapter Pattern)/包装器模式
  18. c语言flappy bird,c语言版本flappy bird
  19. 逗号代码 python_Python代码。是逗号运算符吗?
  20. 联想 e460 查看 内存卡槽数

热门文章

  1. 如何选择合适的高尔夫球杆?
  2. 求助,在使用TensorFlow进行花朵图片分类时,想把数据集的图片转化为tfrecord文件,但是程序运行后没有反应,不知道问题出在哪里
  3. cucumber java 实例_cucumber java从入门到精通(3)简单实现及断言
  4. 小程序 测试环境 linux,Linux服务器环境 微信小程序 配置详解
  5. python导入包后调用提示unresolved reference
  6. web前端之HTML技术
  7. c语言 int的取值范围,C语言int的取值范围 ?
  8. Python实现饮料换购
  9. 金万维异速联结合金蝶K/3远程接入解决方案
  10. HDU - 4856 Tunnels (预处理+状压dp)