原文地址声明: https://blog.csdn.net/qq_23179075/article/details/113629747

在需要序列化的结构体或者map中有HTML字符串时,用常规的序列化方法会出现如下情况:

func TestA(t *testing.T) {data := map[string]string{"?9<>><9:>?8=19=0??0?": ">8=??我爱你=8;?>9<08<1>>1>",}x, _ := json.Marshal(data)fmt.Println(string(x))
}

输出结果:

{"?9\u003c\u003e\u003e\u003c9:\u003e?8=19=0??0?":"\u003e8=??我爱你=8;?\u003e9\u003c08\u003c1\u003e\u003e1\u003e"}

解决:


func TestB(t *testing.T) {data := map[string]string{"?9<>><9:>?8=19=0??0?": ">8=??我爱你=8;?>9<08<1>>1>",}buff := &bytes.Buffer{}encoder := json.NewEncoder(buff)encoder.SetEscapeHTML(false)err := encoder.Encode(data)fmt.Println(buff.String(),err)
}

输出结果:

{"?9<>><9:>?8=19=0??0?":">8=??我爱你=8;?>9<08<1>>1>"}

备忘:解决Golang字符串包含HTML序列化Json时出现Unicode编码相关推荐

  1. Cheat—— 给Linux初学者和管理员一个终极命令行备忘单

    当你不确定你所运行的命令,尤其是那些使用了许多选项的复杂命令时,你会怎么做?在这种情况下,我们使用man pages来获取帮助.还有一些其它的选择可能包括像'help','whereis'和'what ...

  2. linux mt命令,Cheat—— 给Linux初学者和管理员一个终极命令行备忘单

    当你不确定你所运行的命令,尤其是那些使用了许多选项的复杂命令时,你会怎么做?在这种情况下,我们使用man pages来获取帮助.还有一些其它的选择可能包括像'help','whereis'和'what ...

  3. 苹果手机备忘提醒软件哪个好?

    记录备忘事项的提醒软件可以很好的帮助我们很好进行时间管理,现代很多年轻人的手机上都会有一款好用的APP软件来帮助大家进行时间管理,而为满足大家的需求,手机上关于记录备忘的软件是非常多,而功能也是参差不 ...

  4. python中字符串输出乱码怎么解决_Python字符串的encode与decode研究心得乱码问题解决方法(转)...

    为什么会报错"UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not i ...

  5. java json太长_修复Long类型太长,而Java序列化JSON丢失精度问题的方法

    Java序列化JSON时long型数值,会出现精度丢失的问题. 原因: java中得long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值). 解决办法一: 使用 ...

  6. biginteger和long精度_修复Long类型太长,而Java序列化JSON丢失精度问题的方法

    造成原因:JS内置有32位整数,而number类型的安全整数是53位.如果超过53位,则精度会丢失.正如现在后台传来一个64位的Long型整数,因此超过了53位,所以后台返回的值和前台获取的值会不一样 ...

  7. vf更改当前路径_这份 window.location 备忘单,让你更有条理解决地址路径问题!...

    如果你想获取站点的URL信息,那么window.location对象什么很适合你!使用其属性获取有关当前页面地址的信息,或使用其方法进行某些页面重定向或刷新? https://segmentfault ...

  8. mysql cpu使用率100_Mysql CPU使用率长期100%的解决思路备忘

    最近一台服务器的CPU使用率长期保持在100%的状态,查看进程发现是Mysql服务导致的.于是搜索各方资料,终于成功解决问题.备忘以及分享一下,希望可以帮助各位新手朋友. (服务器运行环境是Windo ...

  9. AR9331出现connect-debounce failed,port 1 disabled解决方法备忘

    基于AR9331的路由器,自己画的pcb板子,竟然出现这个错误,百度下,貌似有不少人遇见过这个错误,但是在修改板子前我的固件用的是没问题的,USB完美使用 修改过板子后出现这个问题! hub 1-0: ...

最新文章

  1. ELK+redis搭建nginx日志分析平台
  2. Oracle服务启动的问题
  3. sqlserverdatasouce控件如何让添加删除修改自动化
  4. jQuery插件开发(转)
  5. Linux禁止ping以及开启ping的方法
  6. 知识点026-rsync命令的使用
  7. 洛谷 P1827 美国血统 American Heritage Label:字符串Water
  8. BootStrap modal() 如何根据返回的HTML宽度自动调整宽度?
  9. H3C WAC360 基于Win2012 NPS 802.1x 认证
  10. 【21天python打卡】第15天 python经典案例(1)
  11. android开机自动打开微信小程序,Android应用启动微信小程序
  12. 【自动升级后的错误】如何停止腾讯会议自动升级
  13. 2021-4-19学习笔记
  14. linux mysql dengl_linux环境搭建(四)--MYSQL
  15. python脚本使用hive正则表达式斜杠问题
  16. [ctf misc][wp]一些内存取证的wp(含[2021蓝帽杯北部赛区分区赛]博人的文件)
  17. 遗传学与基因组学原理 | 遗传方式及多因素遗传
  18. 6_计算机网络_应用层-HTTP-DNS-跳板机
  19. IDA 和 IDA-Python 学习笔记
  20. 绿色版与安装版的区别 /(0^◇^0)/

热门文章

  1. 一个30岁男人对爱情婚姻的思考
  2. 如何解决Android遇到的65536问题
  3. uniapp 小程序授权登录
  4. MacOS M1芯片 VMware部署CentOS8虚拟机及配置静态IP
  5. Android控件默认点击效果
  6. shiny分级菜单实现
  7. python3导入ping模块_Python ping 模块
  8. Synthetic合成方法学习
  9. 基于Web的大学生志愿者管理系统的设计与实现
  10. 没有可用软件包 xxx