GsonBuilder匯出null值、格式化輸出、日期時間
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)的區別
相關文章
- Python 輸出當前日期和時間Python
- Golang中的格式化時間輸出Golang
- 日期時間格式化
- 格式化釋出時間
- JavaScript時間日期格式化JavaScript
- 細說PHP筆記08(第12章)--日期和時間,建立時間戳,mktime轉換unix時間戳,獲取字串時間,獲得日期和時間資訊,日期和時間格式化輸出,microtime()獲取微秒數PHP筆記時間戳字串
- 格式化輸出
- 求大家幫助,Jmeter 變數為 null 時,輸出的是變數名,如何不輸出變數名原樣輸出 null?JMeter變數Null
- 格式化輸入輸出
- JavaScript 日期和時間的格式化JavaScript
- pythonformat格式化輸出PythonORM
- 格式化輸出 22
- 格式化輸入和輸出
- [20200317]NULL與排序輸出.txtNull排序
- oracle單表按時間匯出Oracle
- python怎樣實時輸出時間Python
- 時間日期格式化程式碼例項
- python字串格式化輸出Python字串格式化
- 字串拼接格式化輸出字串
- Java取當前時間的一分鐘後,並格式化輸出Java
- linux匯出指定日期引數Linux
- Python 字串格式化輸出方式Python字串格式化
- hadoop 自定義格式化輸出Hadoop
- 格式化輸出變數工具變數
- [20200306]expand格式化輸出.txt
- 練習3(格式化輸出)
- 【譯】Java8官方教程:格式化輸出數值型別Java型別
- [20191106]善用column格式化輸出.txt
- Go 語言中的格式化輸出Go
- shell指令碼(3)-格式化輸出指令碼
- 格式化輸出的幾種方式
- jira修改RoadMap裡的時間格式,硬核日期格式化
- js正則格式化日期時間自動補0JS
- Windows 7 釋出日期 結束日期 時長Windows
- C#按照日期輸出程式日誌C#
- Mybatis出現成員賦值都是null或者預設值MyBatis賦值Null
- [20190502]給顯示輸出加入時間戳.txt時間戳
- java Web 時間LocalDateTime 輸出到前端格式化JavaWebLDA前端