Gson转义特殊字符
2026/6/13 20:49:49 网站建设 项目流程

Gson打印日志

起因

publicstaticvoidmain(String[]args){Stringstr="ajjui=";System.out.println("result="+JsonUtil.objectToJson(str));}


日志打印出现\u003d

搜了一下,发现\u003d是=

排查

1、先检查数据库,数据库是=;
2、后检查代码,代码没有对变量重新赋值的地方;
3、最后锁定可能是日志打印的问题

跟进

看了日志打印的方法,发现用的是gson.toJson方法,问了下GPT,才知道是Gson 自己做了一次转义。

知识点

默认情况下,gson.toJson(…) 会对 HTML 敏感字符做 Unicode 转义,其中就包括:

字符转义后
<\u003c
>\u003e
&\u0026
=\u003d

目的:让生成的 JSON 可以直接塞进 script标签 而不会出现语法问题。

使用

gson的这个作用是可选的

// 默认行为Gsongson=newGson();System.out.println(gson.toJson("a=b"));// 输出 "a\u003db"// 关闭 HTML 转义Gsongson2=newGsonBuilder().disableHtmlEscaping()// 关键.create();System.out.println(gson2.toJson("a=b"));// 输出 "a=b"

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询