Gson的使用,对于不需要html escape的情况的处理
引入:
虽然是小问题,但是我还是需要记录下,我们知道,Google提供了一个Gson框架让我们高效的吧普通对象(一般VO为佳) 和json字符串之间进行互转。因为转换多数是和浏览器打交道的,所以一般默认的Gson会把html escape转义,但是某些特殊的字段,比如说,我们有一个authToken,它是base64 encoding 的,这个时候,我们就需要保留它的原始值(后面有0个或者个或者2个等号=,而不能把这个值url escape.
解决:
遇到这种情况,我们就不能用默认的Gson了,而是要新建一个GsonBuilder,并且让这个GsonBuilder禁用html escape的功能,然后用它创造出来的Gson进行转换,就可以达到我们的目的了。
实例如下:
假设我们有一个VO:
它包含一个字段并且是不准转义的,我们必须保留这个原始内容(base64 encoding后的内容)。
我们写一段程序来测试:
测试结果如下:
结论:
从这里可以看出,默认的Gson是会进行html escape的,它会吧最后的”=“号转为\u003d的形式,而我们如果用GsonBuilder,并且disableHtmlEscaping之后,让其创建一个Gson,再用这个Gson转换时,结果就不会被html escape.
Gson的使用,对于不需要html escape的情况的处理相关推荐
- JAVA调用接口简单封装,Mvp+Retrofit2+RxJava2 项目中使用的简洁封装
Retrofit2 + RxJava2 是一个强大的组合,完成一系列网络请求 MVP当前用的很多的一种框架,Model+View+Presenter 本文记录了作者在项目中对 Retrofit2 + ...
- fastjson map转json_Java对象转JSON咋这么头疼?不!那是你还没使用Fastjson
前言 测试同学在写测试用例的时候,每个测试用例必须包含预期结果.而对于手工测试而言,执行测试时,预期结果基本上都是人工完成.而对于自动化用例的执行,就要借助于自动化断言,一般是借助于程序实现.以接口测 ...
- Jackson 解析j@JsonIgnorePropertiesson数据之忽略解析字段注解
Jackson 解析j@JsonIgnorePropertiesson数据之忽略解析字段注解 我是一座离岛 关注 2017.04.12 14:32 字数 721 阅读 1121评论 0喜欢 0 以前解 ...
- Python2.0 模块大全
博客 学院 下载 更多 写博客 qq779488143 Python 模块大全(很详细!) 转载 2014年12月12日 20:47:18 标签: Python / 模块 / 教程 3694 转载:. ...
- SELECT单表查询
接上一篇文章中的SELECT语句单表查询. WHERE子句的条件表达式以及相关谓词: ④字符匹配--[NOT] LIKE-[ESCAPE]- 语句: [NOT] LIKE '<匹配串>' ...
- 间接解决Gson不能解决特殊符号%的问题
事故现场:网络请求采用Rxjava + Retrofit,添加了日志拦截器HttpLoggingInterceptor 后台返回的数据包含字符%,直接报错 { "server_no" ...
- Java Json API:Gson使用简单入门
GSON是Google开发的Java API,用于转换Java对象和Json对象.本文讨论并提供了使用API的简单代码示例.更多关于GSON的API可以访问:http://sites.google.c ...
- Gson:我爸是 Google
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 01.前世今生 我叫 Gson,是一款开源的 Java 库 ...
- 从一个Bug开始,重新认识一个强大的 Gson
点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:Mafly, 地址:www.cnblogs.com/mafly/p/gson.html 从 ...
最新文章
- 数论重大突破:120年后,希尔伯特的第12个数学难题借助计算机获得解决
- 多雨季节 数据中心亦要“防汛”
- halcon旋转后坐标_FPGA大赛【八】具体模块设计图像旋转方案
- YOCTO项目介绍:通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统
- MyCat分布式数据库集群架构工作笔记0013---高可用_Mycat双主双从复制配置上
- matplotlib易混概念理解与画图详解
- Visual Stadio 2012创建WebApplication应用和运行赏析
- python游戏开发引擎_【图片】有关Ren'Py引擎的游戏制作汉化教程【linux游戏吧】_百度贴吧...
- node mysql菜鸟教程_Node.js 创建第一个应用
- 关于2013年1月21日的DNS故障分析文章
- 评测i9 13900hx和​​R9 7940HS选哪个 酷睿i913900hx和​​锐龙R97940HS对比
- 网易之小易最近在数学课上学习到了集合的概念,集合有三个特征:1.确定性 2.互异性 3.无序性.需要根据给定的w,x,y,z,求出集合中一共有多少个元素。
- 01 hbuilder账号的注册
- 软件开发、硬件开发、IPD产品开发 及 工程开发各阶段划分
- flash_tools安装及使用完全教程
- canvas rotate 累加旋转_Canvas的变换
- mysql 微信 jsp_SpringMVC+Spring+mybatis+mysql+jsp微信商城系统,有后台管理系统
- matlab求点介数程序,matlab_bgl 一个很有用的计算网络中每个节点介数的程序,对 分析 Cloud Computing 云 266万源代码下载- www.pudn.com...
- 赛效:WPS如何在文档中插入下一页分节符
- 一个很有意思的flash游戏,蚂蚁蛋糕保卫战(antbuster)
热门文章
- 软件数控编程_这么多CNC数控编程软件, 你觉得哪个好?
- linux获取文件的md5,linux shell 获取文件md5的命令linux操作系统 -电脑资料
- mysql自增字段_MySQL自增字段的常用语句
- python下载晚上excel_Python自动操控excel,一小时解决你一天的工作
- java substring截取字符串_java基础教程之字符串的介绍,比较重要的一个知识点【下】...
- 虚拟机python建站_搭建本地虚拟服务器linux(CentOS 7)的python虚拟环境(Hyper-V演示)...
- java中随机数边界问题,java 简单Dice问题(随机数的运用)
- 查看网卡命令 uefi_大神教你开机进入UEFI模式的方法,非常简单
- 单机最大负载_电流互感器允许接入的实际最大二次负载(注电案例1865)
- RN做的Android应用反编译,macOS Catalina配置Android反编译三件套 apktool/dex2jar/enjarify/jd-gui...