之前在用gson解析的时候未记录下来,所以今天做一个小的总结,

比如遇到像这种"\u003d"的unicode的字符,我们想解码这个字符,用gson可以这样表达

Gson gson=new Gson();
String s2 = "\"{\\\"hi\\\":\\\"\\u003d\\\"}\"";
System.out.println("s2:"+s2);
String s = gson.fromJson(s2, String.class);
System.out.println(s);

上面的输出结果为

s2:"{\"hi\":\"\u003d\"}"

{"hi":"="}

可见传入到json中的字符串必须是带转义字符的,且格式必须是正确的,否则会出错,

同样的,解码一个unicode字符也可以使用URLDecoder,这个对unicode的直接解析比较方便。

代码如下:

	String ss = URLDecoder.decode("\u003d","utf-8");
System.out.println(ss);

  上面的代码输出如下:

=

该方法较上一种方便很多。

另外利用gson转换成json字符串的时候会自动编码特殊字符,如果要忽略此功能,则使用

new GsonBuilder().disableHtmlEscaping().create()

创建gson对象即可。

------------------------------------------------------------------------------------------------------

此处分割线,楼主最近又发现一个奇怪的问题,上面的URLDecoder中传入的如果是这种字面量,他是可以解析的,其实直接用java的println打出来也是中文,但是如果不是这种字面量,那问题就比较麻烦了,因为即使是一样的字符串,他也是不能解码的,,后来楼主在网上的一片博客中找到了另一种方法,即使用org.apache.commons.lang.StringEscapeUtils#unescapeJava(String) 这是使用apache提供的包里的工具,如果你的工程里没有引用这个,也不用担心,原博客提供了另外一种方法,此处贴上博客地址,http://blog.csdn.net/djun100/article/details/12128057  他好像也是转的,,,所以就找不到原作者了,,,,

使用gson在解析unicode时遇到的问题的更多相关文章

  1. Json,Gson,FastJson解析笔记

    Json,Gson,FastJson解析笔记 1.将JavaBean转换成Json对象: public static String CreatJsonFromObject(Object key,Obj ...

  2. 使用Google 的 gson方式解析json

    gson支持解析的类型还是比较全面的,包括JavaBean,List<JavaBean>,List<String>,Map等,使用起来也是比较方便,下面根据代码示例给出总结: ...

  3. dom4j解析xml时取消DTD验证

    解决方式整合一下,就分两种: 1.用setFeature() SAXReader reader = new SAXReader();reader.setValidation(false); reade ...

  4. Gson全解析(中)-TypeAdapter的使用

    TypeAdapter介绍 前面的Gson全解析(上)中我们理解并分别运用了JsonSerializer和JsonDeserializer进行JSON和java实体类之间的相互转化.这里利用TypeA ...

  5. thymeleaf 解析html时,出现 SAXParseException: The content of elements must consist of well-formed characte

    thymeleaf 解析html时,出现 SAXParseException: The content of elements must consist of well-formed characte ...

  6. C# 解析excel时,字段内有内容,却读取不到的解决方法

    C# 解析excel时,字段内有内容,却读取不到的解决方法:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ...

  7. Gson全解析(下)-Gson性能分析

    前言 在之前的学习中,我们在Gson全解析(上)Gson使用的基础到分别运用了JsonSerializer和JsonDeserializer进行JSON和java实体类之间的相互转化. 在Gson全解 ...

  8. Gson全解析(上)-Gson基础

    前言 最近在研究Retrofit中使用的Gson的时候,发现对Gson的一些深层次的概念和使用比较模糊,所以这里做一个知识点的归纳整理. Gson(又称Google Gson)是Google公司发布的 ...

  9. 在解析XML时要注意解析元素和解析标签属性的区别

    解析元素时: Sting str = ele.elementText("name"); 而解析标签属性时: String key = ele.attributeValue(&quo ...

随机推荐

  1. 简单的通用TreeView(WPF)

    工作中要为很多类创建TreeView, 很多时候仅仅是因为要显示字段不同, 就得Ctrl+C.Ctrl+V复制一份几乎相同的代码, 这难免让人生厌, 于是希望像泛型集合的扩展方法那样, 可以在使用的时 ...

  2. [工具.tfs]可视化的TFS命令工具——Team Foundation Sidekicks

    工具介绍:http://www.attrice.info/cm/tfs/index.htm Team Foundation Sidekicks is a suite of tools for Micr ...

  3. tomcat(三)--基本安装配置

    0x01  JDK和Tomcat安装 到oracle官网下载jdk,当前下载的版本是Linux x64 jdk-8u101-linux-x64.tar.gz 到apache官网下载tomcat,当前最 ...

  4. Flask备注二(Configurations, Signals)

    Flask备注二(Configuration, Signals) Flask是一个使用python开发Web程序的框架.依赖于Werkzeug提供完整的WSGI支持,以及Jinja2提供templat ...

  5. 【转载】SQL Server 2008 r2 中 SQL语句中单引号转义

    sql server有两个转义符. 默认情况下, 单引号'是字符串的边界符, 如果在字符串中包含单引号', 则必须使用两个单引号', 第1个单引号'就是转义符.

  6. Matlab(3) -- 编写M文件(函数)

    转自:http://blog.csdn.net/misskissc/article/details/8178089 matlab的命令编辑窗口(Command Window)界面主要是用来调用系统命令 ...

  7. SQL脚本IN在EF中的应用

    C#查询条件中存在in,为了避免拼脚本,参数化查询数据库,提高安全性,规避脚本注入.网上找了好多,最后发现 SqlParameter 是无法实现in的操作,所以只能变相来实现,结果还是不错的,性能上各 ...

  8. C#实现:给定[0-9]数组,求用数组组成的任意数字的最小值

    class Program { static void Main(string[] args) { List<, , , , }; c.Sort(); ); Console.WriteLine( ...

  9. 国内及Github优秀开发人员列表

    自从入了Android软件开发的行道,解决问题和学习过程中免不了会参考别人的思路,浏览博文和门户网站成了最大的入口.下面这些列表取名为:国内及Github优秀开发人员列表,就是浏览后的成果. 虽然下述 ...

  10. 小试牛刀--利用豆瓣API爬取豆瓣电影top250

    最近得赶进度爬点东西,对于豆瓣,它为开发者提供了API,目前是v2版本,目前key不对个人开放,但是可以正常通过其提供的API获取数据.豆瓣V2版API权限分3类:公开.高级.商务,我们用开放基本数据 ...