-
json: key必須為string類型,value可以是基本類型或數據結果
支持的value類型:
object 對象:{}
array 數組:[] 數組內用逗號隔開
基本類型:String,number(數值,包括整數,浮點數),布爾類型(true,false),null
查看全部 -
JavaScript object Notation查看全部
-
引入依賴 com.google code.gson gson 2.4查看全部
-
@SerializedName("a")將注解的key值變為a查看全部
-
跟進社區產品,有新功能簡化工作 Set<> List<>查看全部
-
集合類解析——
GSON另外一個常用操作:進行轉換和解析過程中,能夠將JSON中的數組和java中的集合類進行對接。
案例:這里把實體類中數組類型的major換為集合類型List。
查看全部 -
GSON解析帶日期轉換
JSON不支持日期格式數據,所以只能使用String類型的日期。但是java中有Date數據類型的數據,GSON是支持日期類型數據的(此處的支持是指將日期轉換成Date的格式)。
步驟1:創建Gson對象時,通過new GsonBuilder()的setDateFormat(“yyyy-MM-dd”).create(),通過該模板GSON會把符合該模式的字符串日期自動轉換成Date的類型
查看全部 -
GSON解析JSON格式的數據
案例:這里將JSON格式數據解析為JavaBean對象,這里使用fromJson(String json,Class type),這樣就可以把JSON的數據賦值給JavaBean的屬性,如果key值對應不上屬性名就置為null。
查看全部 -
生成JSON數據——
GSON:可以輸出JSON樣式數據,可以使用GsonBuilder在構建JSON數據過程中,使用setPrettyPrinting()方法,然后就不使用new Gson對象而是通過gsonBuilder.create()來創建Gson對象。
GSON:可以使用GsonBuilder對象在解析時,使用setFieldNamingStrategy(回調函數)進行一些操作,例如:把Key變成大寫,如果為其他還是默認值。
GSON:JavaBean的有些屬性不想暴露在JSON數據中,通過JSON的默認生成方式會將所有屬性生成key和value進行輸出,而GSON通過聲明一個類型為transient類型的屬性,這樣在JSON數據生成過程中就會忽略掉該屬性。
查看全部 -
GSON生成JSON數據
步驟1:添加依賴
步驟2:使用JavaBean創建GSON數據,通過GSON的toJson(Bean對象)就可以轉換為GSON數據。
GSON:可以使用@SerializedName(“NAME”)改變GSON的key值。
查看全部 -
本章介紹使用Google的GSON包來生成和解析JSON格式數據。除此以外,還包括GSON解析帶日期的數據,以及集合類解析。
GSON簡介——
GSON:開源的第三方工具,可以用來解析JSON數據,相比JSON,功能更全面,性能更出色,使用方式更加便捷。
查看全部 -
JSON總結
JavaBean方式適用于生成JSON數據和但是不適用于解析JSON數據,因為JSONObject的第三庫不支持解析JSON數據。
JSON總結:
生成JSON數據——(有缺陷的,日期類型需要定義成String類型)
【1】通過JSONObject的put方法這種原生的方式
【2】通過Map的put方法方式,再把該對象傳入JSONObject構造方法中
【3】通過JavaBean的set方法方式,再把JavaBean對象傳入JSONObject構造方法
解析JSONObject——(缺陷,不能反解析成JavaBean)
【1】讀取文件位置
【2】FileUtils類的readFileToString把JSON數據轉換成String類型
【3】再把該String對象傳入JSONObject構造函數中
查看全部 -
從文件讀取JSON判斷null(增加程序健壯性)
實際開發中讀取JSON數據是在WEB環境下(網絡上提供的API或者文件中)
如果在讀取時,JSON數據中沒有指定key,一般需要打印一個日志或者拋出一個異常,這里可以使用JSONObject對象的isNull("key")方法,判斷如果沒有key值做一些操作。
查看全部 -
解析JSON數據
輔助:一般解析JSON數據時,需要獲取JSON數據的途徑,這個途徑可能是文件讀取或遠程API網絡上獲取JSON數據,這里講解從文件途徑中進行文件讀取,并轉換成一個我們想要的對象,在pom文件中引入common-io的依賴,該包方便讀取文件的內容。
案例:從一個文件中讀取JSON數據,并轉換為對象。
步驟1:項目中創建王小二的JSON格式數據。
步驟2:讀取該文件,首先聲明JSON文件的File,并指明該文件的路徑(項目的根路徑下)
步驟3:通過FileUtils類的readFileToString讀入JSON文件,再通過JSONObject構造函數傳入讀入的JSON文件。
JSONObject提供了一些獲取指定key值的方法:
【1】getString("key")獲取value類型為String的值
【2】getDouble("key")獲取value類型為number的值
【3】getBoolean("key")獲取value類型為boolean的值
【4】getJSONArray("key")獲取value類型為數組的值,它的返回值是JSONArray,它是一個數組。
查看全部 -
toLocaleString()過時了,替代的有:DateFormat?ddf?=?DateFormat.getDateInstance();??
DateFormat?dtf?=?DateFormat.getTimeInstance();??
DateFormat?ddtf?=?DateFormat.getDateTimeInstance();??
Date?date?=?new?Date();??
System.out.println("日期:"?+?ddf.format(date));??
System.out.println("時間:"?+?dtf.format(date));??
System.out.println("日期時間:"?+?ddtf.format(date));??
SimpleDateFormat?sdf?=?(SimpleDateFormat)?DateFormat.getDateTimeInstance();??
System.out.println("日期時間:"?+?sdf.format(date));??
查看全部
舉報