Gson 配置解析

以前項目用到了gson對json和Java類之間互轉,如今將gson的配置總結一下。java

首先,建立gson對象之間,創建gsonbuilder對象,並配置json

// 不導出實體類中沒有用@Expose註解的屬性
gbuilder.excludeFieldsWithoutExposeAnnotation()
// 支持Map的key爲複雜對象的形式
gbuilder.enableComplexMapKeySerialization()
// 格式化date型  
gbuilder.setDateFormat("yyyy-MM-dd HH:mm:ss:SSS")
// 會把字段首字母大寫,注:對於實體上使用了@SerializedName註解的不會生效.
gbuilder.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
// 設置字段屏蔽,屏蔽不想轉換的字段,ExList是String型的數組,設置此屬性時@Expose註解就失效了
gbuilder.setExclusionStrategies(new mExclusionStrategy(ExList))

   gson轉化:數組

 // 將JavaBean字符串轉換爲 JSON 
  String sUser = gson.toJson(user); 
  System.out.println(sUser); 
  // {"id":1001,"name":"張三"} 

  // 將JSON字符串轉換爲 JavaBean 
  UserBean user2 = gson.fromJson(sUser, UserBean.class); 
  System.out.println(user2.getId() + ", " + user2.getName()); 
  // 1001, 張三
ui

 

注意:在gson轉化的時候,若存在級聯的實體類,在輸出的時候要在hbm配置文件設置lazy=falsespa

相關文章
相關標籤/搜索