文档章节

Gson入门

Geeyu
 Geeyu
发布于 2017/02/23 23:11
字数 209
阅读 23
收藏 0

慕课网《JSON快速入门(Java版)》笔记

  项目中用的多为JsonObjecty一类的...然而,Gson更为强大!

Gson gson = new Gson();
String user = gson.toJson(new User("xiaoming"));
//{"name":"xiaoming"}

  可以通过注解修改输出的属性名,更为安全。

class User{
	@SerializedName("NAME")
	private String name;
	...
}
//{"NAME":"xiaoming"}

  也可以通过builder构建json,添加更多功能。

GsonBuilder gsonBuilder = new GsonBuilder();

//修改输出格式
gsonBuilder.setPrettyPrinting();

//修改输出字段
gsonBuilder.setFieldNamingStrategy(new FieldNamingStrategy(){
	public String translateName(Field f){
		return f.getName() + "-123";
	}
});

Gson gson = gsonBuilder.create();

  还有一个特殊的关键字。

class User{
	//输出时json中不会包含这个字段
	private transient String ignore;
}

  Gson可以直接将数组映射到集合,也可以带日期转换,解析方法如下,和net.sf.json相同,只不过后者需要一个jsonConfig。

class User{
	private Date date;
	private List<String> list;
	...
}

Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
User user = gson.fromJson(userJson, User.class);

© 著作权归作者所有

共有 人打赏支持
上一篇: @InitBinder
Geeyu
粉丝 2
博文 56
码字总数 30168
作品 0
昌平
私信 提问
Kotlin入门(31)JSON字符串的解析

json是App进行网络通信最常见的数据交互格式,Android也自带了json格式的处理工具包org.json,该工具包主要提供了JSONObject(json对象)与JSONArray(json数组)的解析处理。下面分别介绍这...

aqi00
2018/11/03
0
0
你真的会用Retrofit2吗?Retrofit2完全教程

本文注目录: Retrofit入门 Retrofit注解详解 Gson与Converter RxJava与CallAdapter 自定义Converter 自定义CallAdapter 其它说明 前言 本文中的Retrofit均指代Retrofit2.0。 本文涉及到的代...

火云
2016/12/27
79
0
android Gson解析

Gson是Google提供的方便在json数据和Java对象之间转化的类库。 Gson这是使用Gson的主要类,使用它时一般先创建一个Gson实例,然后调用toJson(Object)或者from(String,Class)方法进行转换。 ...

ForingY
2016/08/02
6
0
使用Gson遇到的特殊字符被转码问题

今天是用gson工具的时候,发现字符串中的‘=’被替换成了unicode编程格式的‘u003d’,查看了下gson源码,发现了gson在toString的时候的有如下操作: 其中 HTMLSAFEREPLACEMENTCHARS 、REPLA...

霖_柒
2015/06/01
0
0
Google的JSON类库 Gson开发者指南

由于 site.google.com 被墙,本人特意翻墙出去扒了分 User Guide 回来,不过是英文的。 Gson User Guide Contents 1 Authors: Inderjeet Singh, Joel Leitch 1.1 Overview 1.2 Goals for Gs......

红薯
2009/12/31
11.6K
13

没有更多内容

加载失败,请刷新页面

加载更多

从 JVM 分析 hibernate-validator NoClassDefFoundError

最近排查一个spring boot应用抛出hibernate.validator NoClassDefFoundError的问题,异常信息如下: Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.hibernat......

微笑向暖wx
19分钟前
1
0
c++指针和字符串

==============================

天王盖地虎626
24分钟前
2
0
从 JVM 分析 hibernate-validator NoClassDefFoundError

最近排查一个spring boot应用抛出hibernate.validator NoClassDefFoundError的问题,异常信息如下: Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.hibernat......

java菜分享
29分钟前
2
0
超500款社交APP对标微信,细分未来社交领域

“微信之父”张小龙在2019微信公开课PRO活动上透露,截止2018年8月,微信的日登录量已超过10亿。腾讯2018年三季度财报显示,QQ智能终端月活跃账户达6.98亿人。 当前微信和QQ无疑是中国最大且...

ThinkSNS账号
36分钟前
1
0
Fiddler 抓包工具总结

序章 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一...

javaer
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部