GsonBuilder导出null值、格式化输出、日期时间
2016-10-20 22:35
369 查看
GsonBuilder导出null值、格式化输出、日期时间
转自:http://www.jianshu.com/p/c88260adaf5e一般情况下Gson类提供的 API已经能满足大部分的使用场景,但我们需要更多更特殊、更强大的功能时,这时候就引入一个新的类 GsonBuilder。
GsonBuilder从名上也能知道是用于构建Gson实例的一个类,要想改变Gson默认的设置必须使用该类配置Gson。
GsonBuilder用法
Gson gson = new GsonBuilder() //各种配置 .create(); //生成配置好的Gson
Gson在默认情况下是不动导出值null的键的,如:
public class User { //省略其它 public String name; public int age; public String email; } Gson gson = new Gson(); User user = new User("怪盗kidou",24); System.out.println(gson.toJson(user)); //{"name":"怪盗kidou","age":24}
可以看出,email字段是没有在json中出现的,当我们在调试是、需要导出完整的json串时或API接中要求没有值必须用Null时,就会比较有用。
使用方法:
Gson gson = new GsonBuilder() .serializeNulls() .create(); User user = new User("怪盗kidou", 24); System.out.println(gson.toJson(user)); //{"name":"怪盗kidou","age":24,"email":null}
格式化输出、日期时间及其它:
这些都比较简单就不一一分开写了。
Gson gson = new GsonBuilder() //序列化null .serializeNulls() // 设置日期时间格式,另有2个重载方法 // 在序列化和反序化时均生效 .setDateFormat("yyyy-MM-dd") // 禁此序列化内部类 .disableInnerClassSerialization() //生成不可执行的Json(多了 )]}' 这4个字符) .generateNonExecutableJson() //禁止转义html标签 .disableHtmlEscaping() //格式化输出 .setPrettyPrinting() .create();
注意:内部类(Inner Class)和嵌套类(Nested Class)的区别
文/怪盗kidou(简书作者)
原文链接:http://www.jianshu.com/p/c88260adaf5e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
相关文章推荐
- java中获取当前系统时间,日期并格式化输出
- 用CTime类得到当前日期、时间、星期,并格式化输出
- 用CTime类得到当前日期、时间、星期,并格式化输出
- 用CTime类得到当前日期、时间、星期,并格式化输出
- Asp.net 中将日期时间值,转换成字符串,格式化输出
- android时间日期随系统格式化输出
- 利用localtime_s函数格式化输出当地日期与时间
- [LINK]python中的日期和时间格式化输出
- 1、Python 日期时间格式化输出
- 利用localtime_s函数格式化输出当地日期与时间
- 1、Python 日期时间格式化输出
- .Net日期时间格式化输出大全 DateTime.ToString(?)
- 日期时间输出的格式化DateTime Formating
- python日期时间转为字符串或者格式化输出的实例
- python中日期和时间格式化输出
- javascript扩展date对象格式化日期时间输出
- python中日期和时间格式化输出的方法小结
- informix日期时间格式化输出
- javascript扩展date对象格式化日期时间输出(二)
- js将当前时间日期格式化输出