很多人是在转换时特殊字符被替换成了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使用之对特殊字符的转换的处理的更多相关文章

  1. 利用Gson进行String和对象的转换

    利用Gson进行String和对象的转换 /** * 从JsonStr中解析BUserBase * @param jsonStr * @return */ public static BUserBas ...

  2. gson和fastjson将json对象转换成javaBean 简单对照

    今天在网上看代码时,发现项目使用了Gson,用于将json字符串转换成javaBean. 以前没使用过Gson,随即,简单入了个们, 想起fastjson也有将json字符串转换成javaBean的A ...

  3. 如何将html特殊字符编码转换成特殊字符_html十进制编码字符转回来

    备注:有时候我们会莫名其妙遇到一些特殊字符:  这些字符在网页上能正常显示,但是在APP特殊情景并不识别这些字符: 如:'     这个其实是单引号:   '     百度后发现,它其实是HTML特殊 ...

  4. gson转换对象为json字符串时对特殊字符编码的问题

    使用google的gson进行object和json的转换,如下: public static String object2json(Object obj) { Gson gson = new Gso ...

  5. json(gson) 转换html标签带来的麻烦

    gson 转换html标题时,会把html(特殊字符转换为unicode编码) ,所以为了避免这个问题GsonBuilder类 有一个 disablehtmlEscaping方法. 就可以让gson类 ...

  6. gson的特殊用法

    1.gson包在处理 字符串转 Map 或者 List 的方法. List memberList = gson.fromJson(str,new TypeToken<List>() {}. ...

  7. Gson的使用与理解

    当今社会下,前后端分离,不同系统的信息交互,消息队列的数据传递,微服务的不同服务之间的数据处理,越来越多地方用到了序列化.序列化作为不同系统不同服务之间的数据桥梁.那么方便快捷的序列化工具还是必要的. ...

  8. 关于 jsp 解析特殊字符的问题

    在项目中了 使用了一个UI封装好 的插件 经测试了可以返回一些特殊字符,但是因为是特殊字符,导致了jsp解析出错,使用了Jquery来添加了dom结构,添加完之后,Ui控件进行初始化的时候报错了,原因 ...

  9. 替换、恢复Html中的特殊字符

    public static string HtmlEncode(string theString){theString = theString.Replace(">", &q ...

随机推荐

  1. facebook ads api

    api测试 https://developers.facebook.com/tools/explorer/517735271920003?method=GET&path=act_1107316 ...

  2. springboot搭建环境整合jsp页面整合mybatis

    1.pom文件依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  3. 【译】第40节---EF6-命令监听

    原文:http://www.entityframeworktutorial.net/entityframework6/database-command-interception.aspx 本节,将学习 ...

  4. 【译】第14节---数据注解-MaxLength/MinLength

    原文:http://www.entityframeworktutorial.net/code-first/maxlength-minlength-dataannotations-attribute-i ...

  5. 1.1 vue.js devtools使用教程

    1. vue.js devtools使用教程

  6. 负数字符串经过int处理之后还是负数

    <?php $v = '-1'; $b = (int)$v; echo $b;

  7. Data Structure 基本概念

    数据(data) 描述客观事物的数值 数据项(data item) 具有原子性,不可分割的最小单位 数据元素(data element)集合的个体,通常由很多数据组成 数据对象(data object ...

  8. fileInputStream.available()获取 文件的总大小

    available():返回与之关联的文件的字节数 我们用inputStream.available()获取 文件的总大小

  9. python类中保存非绑定方法作为成员函数

    习惯了函数式,动不动传一个函数.但是直接把函数作为类方法保存,再调用时会报错. 举一个unittest时的例子 class MyTestCase(unittest.TestCase): @classm ...

  10. 历次PCB板修改意见汇总

    历次PCB板修改意见汇总: 1 对于主控芯片,建议参考官方的PCB布局,官方的PCB布局肯定是为了最大程度的发挥主控的性能. 2 LDO要选择低功耗的,静态电流越小越好,估算一下板子的最大电流,选择L ...