GSON使用之对特殊字符的转换的处理
很多人是在转换时特殊字符被替换成了unicode编程格式,而我碰到的类似,只不过是后台转换成json字符串到前端,前端解析时 '' 双引号和 / 斜杠被原样转换,冲突了json的关键字符,导致解析时提示某某位置有错误.
解决方法,总有一款适合你:
Gson gs = new GsonBuilder()
.setPrettyPrinting()
.disableHtmlEscaping()
.create();
①Gson gson = new Gson();
gson.toString(obj);
会对HTML_SAFE_REPLACEMENT_CHARS数组中的字符串进行替换 ②GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = builder.create();
gson.toString(obj);
会对HTML_SAFE_REPLACEMENT_CHARS数组中的字符串进行替换 ③ GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.disableHtmlEscaping();
Gson gson = builder.create();
gson.toString(obj);
会对REPLACEMENT_CHARS数组中的字符串进行替换
优点:找到对应方法自然省去了后台繁杂低效率的对大字符串进行替换操作
Gson gson = new GsonBuilder()
.excludeFieldsWithoutExposeAnnotation() //不对没有用@Expose注解的属性进行操作
.enableComplexMapKeySerialization() //当Map的key为复杂对象时,需要开启该方法
.serializeNulls() //当字段值为空或null时,依然对该字段进行转换
.setDateFormat("yyyy-MM-dd HH:mm:ss:SSS") //时间转化为特定格式
.setPrettyPrinting() //对结果进行格式化,增加换行
.disableHtmlEscaping() //防止特殊字符出现乱码
.registerTypeAdapter(User.class,new UserAdapter()) //为某特定对象设置固定的序列或反序列方式,自定义Adapter需实现JsonSerializer或者JsonDeserializer接口
.create();
GSON使用之对特殊字符的转换的处理的更多相关文章
- 利用Gson进行String和对象的转换
		利用Gson进行String和对象的转换 /** * 从JsonStr中解析BUserBase * @param jsonStr * @return */ public static BUserBas ... 
- gson和fastjson将json对象转换成javaBean 简单对照
		今天在网上看代码时,发现项目使用了Gson,用于将json字符串转换成javaBean. 以前没使用过Gson,随即,简单入了个们, 想起fastjson也有将json字符串转换成javaBean的A ... 
- 如何将html特殊字符编码转换成特殊字符_html十进制编码字符转回来
		备注:有时候我们会莫名其妙遇到一些特殊字符: 这些字符在网页上能正常显示,但是在APP特殊情景并不识别这些字符: 如:' 这个其实是单引号: ' 百度后发现,它其实是HTML特殊 ... 
- gson转换对象为json字符串时对特殊字符编码的问题
		使用google的gson进行object和json的转换,如下: public static String object2json(Object obj) { Gson gson = new Gso ... 
- json(gson) 转换html标签带来的麻烦
		gson 转换html标题时,会把html(特殊字符转换为unicode编码) ,所以为了避免这个问题GsonBuilder类 有一个 disablehtmlEscaping方法. 就可以让gson类 ... 
- gson的特殊用法
		1.gson包在处理 字符串转 Map 或者 List 的方法. List memberList = gson.fromJson(str,new TypeToken<List>() {}. ... 
- Gson的使用与理解
		当今社会下,前后端分离,不同系统的信息交互,消息队列的数据传递,微服务的不同服务之间的数据处理,越来越多地方用到了序列化.序列化作为不同系统不同服务之间的数据桥梁.那么方便快捷的序列化工具还是必要的. ... 
- 关于 jsp 解析特殊字符的问题
		在项目中了 使用了一个UI封装好 的插件 经测试了可以返回一些特殊字符,但是因为是特殊字符,导致了jsp解析出错,使用了Jquery来添加了dom结构,添加完之后,Ui控件进行初始化的时候报错了,原因 ... 
- 替换、恢复Html中的特殊字符
		public static string HtmlEncode(string theString){theString = theString.Replace(">", &q ... 
随机推荐
- postgresql:array & foreach
			--数组: SELECT (ARRAY['{101, 111, 121}', '{201, 211, 221}'])[1]::text[]; SELECT (ARRAY['{101, 111, 121 ... 
- springcloud问题随笔
			http://www.cnblogs.com/EasonJim/p/8085120.html 1.调用其它服务返回could not be queued for execution and no fa ... 
- activity 运行流程图
- [原][osg][oe]分析一块倾斜摄影瓦片的数据
			RangeMode PIXEL_SIZE_ON_SCREEN 首先我们看看原始数据的构成: 第12层:(第一层) 第23层:(最后一层) pagelod下面有N多的pagelod一层包裹一层 通过os ... 
- vue-循环标记列表元素
			<el-col :lg="4" class="list" v-for="(item,index) in picList"> &l ... 
- php后台操作以及一些减缓服务器压力的问题
			上次提到一个微信投票系统,做了一个微信重定向解决了,一个授权复用的问题,昨天投票系统正式投入使用:测试的时候没有问题,上线后出现了一点小问题, 一:php页面参数接受和php中 switch 那个先执 ... 
- C#清除HTML样式
			C#清除HTML样式 需求说明: 网站开发时我们经常用一个富文本控件让用户自己编辑新闻内容和新闻格式,然后将HTML代码一并保存到数据库中. 然后显示文章列表的时候只需要显示一个文章摘要,所以我们就计 ... 
- fiddler学习笔记&&基本使用
			周末在网上找了些fiddler相关的资料来看,学习下如何使用这个工具(平时接口测试用得比较多,在没有接口文档的情况下,可以通过抓包工具来提取需要测试的接口,ps.好久没写博客了,争取5月结束前再写2篇 ... 
- ffmpeg 加 logo
			How to add a watermark or logo to any corner or the center of a video with FFMPEG. ffmpeg –i video.m ... 
- 昂达 v891 v1 终于 删除 windows 分区 并且恢复了容量。
			参考了很多文章(最后列出重要的),却始终失败. 途中因为乱改分区表,竟然fastboot 都进不去了,当时真是欲哭无泪. 总结关键点: 1) partition.tbl不能把硬盘剩余空间全给data分 ... 
