亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Java的Jackson庫中如何實現轉換復雜對象集合

發布時間:2020-11-09 17:15:19 來源:億速云 閱讀:403 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關使用Java的Jackson庫中如何實現轉換復雜對象集合,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

話不多說,請看代碼:

package com; 
import java.io.BufferedReader; 
import java.io.ByteArrayInputStream; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.util.List; 
import com.fasterxml.jackson.core.JsonParseException; 
import com.fasterxml.jackson.databind.JavaType; 
import com.fasterxml.jackson.databind.JsonMappingException; 
import com.fasterxml.jackson.databind.ObjectMapper; 
/** 
 * jackson 復雜 對象集合 的幾種簡單轉換 
 * @author lenovo 
 * 
 * @param <T> 
 */ 
public class Main<T> 
{ 
 static ObjectMapper mapper = new ObjectMapper(); 
 public static void main(String[] args) throws JsonParseException, 
   JsonMappingException, IOException 
 { 
  String josn = "{\"UserID\":1,\"LoginName\":\"唐工\",\"Truename\":\"超級\",\"Nickname\":null,\"LoginPwd\":\"E10ADC3949BA59ABBE56E057F20F883E\",\"QQ\":\"\",\"Phone\":\"\",\"Email\":null,\"Remark\":\"\",\"Account_Non_Locked\":0,\"Telelephone\":null,\"IsDelete\":0}"; 
  User u = mapper.readValue(josn, User.class); 
  // User u=new Main<User>().jsonStreamConverObject(josn, User.class); 
  System.out.println("轉對象:" + u); 
  // 轉集合 
  String josn2 = "[{\"UserID\":1,\"LoginName\":\"唐工\",\"Truename\":\"超級\",\"Nickname\":null,\"LoginPwd\":\"E10ADC3949BA59ABBE56E057F20F883E\",\"QQ\":\"\",\"Phone\":\"\",\"Email\":null,\"Remark\":\"\",\"Account_Non_Locked\":0,\"Telelephone\":null,\"IsDelete\":0}]"; 
  JavaType javaType = mapper.getTypeFactory().constructParametricType( 
    List.class, User.class); 
  List<User> me = mapper.readValue(josn2, javaType); 
  System.out.println("轉集合me:" + me); 
  // 對象里有 集合 轉換 
  String josn3 = "{\"UserID\":1,\"LoginName\":\"唐工\",\"Truename\":\"超級\",\"Nickname\":null,\"LoginPwd\":\"E10ADC3949BA59ABBE56E057F20F883E\",\"QQ\":\"\",\"Phone\":\"\",\"Email\":null,\"Remark\":\"\",\"Account_Non_Locked\":0,\"Telelephone\":null,\"IsDelete\":0,\"RoleList\":[{\"Roleid\":0,\"Name\":\"超級管理員\",\"Show_Name\":\"超級管理員\",\"Remark\":null,\"Type\":1}]}"; 
  User u3 = mapper.readValue(josn3, User.class); // 簡單方式 
  // User u3=new Main<User>().jsonConverObject(josn3, User.class); 流方式 
  System.out.println("轉對象里有集合u3:" + u3); 
  // 集合 對象 集合 轉換 
  String josn4 = "[{\"UserID\":1,\"LoginName\":\"唐工\",\"Truename\":\"超級\",\"Nickname\":null,\"LoginPwd\":\"E10ADC3949BA59ABBE56E057F20F883E\",\"QQ\":\"\",\"Phone\":\"\",\"Email\":null,\"Remark\":\"\",\"Account_Non_Locked\":0,\"Telelephone\":null,\"IsDelete\":0,\"RoleList\":[{\"Roleid\":0,\"Name\":\"超級管理員\",\"Show_Name\":\"超級管理員\",\"Remark\":null,\"Type\":1}]},{\"UserID\":2,\"LoginName\":\"唐工\",\"Truename\":\"超級\",\"Nickname\":null,\"LoginPwd\":\"E10ADC3949BA59ABBE56E057F20F883E\",\"QQ\":\"\",\"Phone\":\"\",\"Email\":null,\"Remark\":\"\",\"Account_Non_Locked\":0,\"Telelephone\":null,\"IsDelete\":0,\"RoleList\":[{\"Roleid\":0,\"Name\":\"超級管理員\",\"Show_Name\":\"超級管理員\",\"Remark\":null,\"Type\":1}]}]"; 
  JavaType javaType4 = mapper.getTypeFactory().constructParametricType( 
    List.class, User.class); 
  List<User> list = mapper.readValue(josn4, javaType4); 
  System.out.println("集合里是對象 對象里有集合轉換:" + list); 
 } 
 /*** 
  * 轉對象 
  * @param josn 
  * @param clz 
  * @return 
  */ 
 public T jsonStreamConverObject(String josn, Class<T> clz) 
 { 
  T t = null; 
  // ObjectMapper jacksonMapper = new ObjectMapper(); 
  InputStreamReader in = new InputStreamReader(new ByteArrayInputStream( 
    josn.getBytes())); 
  BufferedReader streamReader = new BufferedReader(in); 
  StringBuilder buff = new StringBuilder(); 
  String inputStr; 
  try 
  { 
   while ((inputStr = streamReader.readLine()) != null) 
    buff.append(inputStr); 
   // ObjectMapper mapper = new ObjectMapper(); 
   t = mapper.readValue(buff.toString(), clz); 
  } catch (IOException e) 
  { 
   e.printStackTrace(); 
  } 
  return t; 
 } 
 /*** 
  * 轉對象 
  * @param josn 
  * @param clz 
  * @return 
  */ 
 public T jsonConverObject(String josn, Class<T> clz) 
 { 
  T t = null; 
  try 
  { 
   t = mapper.readValue(josn, clz); 
  } catch (JsonParseException e) 
  { 
   e.printStackTrace(); 
  } catch (JsonMappingException e) 
  { 
   e.printStackTrace(); 
  } catch (IOException e) 
  { 
   e.printStackTrace(); 
  } 
  return t; 
 } 
 /** 
  * 轉集合 
  * @param josn 
  * @param clz 
  * @return 
  */ 
 public List<T> jsonConverList(String josn, Class<T> clz) 
 { 
  List<T> me = null; 
  try 
  { 
   // jacksonMapper 
   // .disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); 
   // jacksonMapper.enableDefaultTyping(); 
   // jacksonMapper.setVisibility(JsonMethod.FIELD,JsonAutoDetect.Visibility.ANY); 
   // jacksonMapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, 
   // false);//格式化 
   // jacksonMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL); 
   // jacksonMapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS, 
   // false); 
   JavaType javaType = mapper.getTypeFactory() 
     .constructParametricType(List.class, clz);// clz.selGenType().getClass() 
   me = mapper.readValue(josn, javaType); 
  } catch (JsonParseException e) 
  { 
   e.printStackTrace(); 
  } catch (JsonMappingException e) 
  { 
   e.printStackTrace(); 
  } catch (IOException e) 
  { 
   e.printStackTrace(); 
  } 
  return me; 
 } 
} 
/** 
 * output: 
 * 轉對象:User [UserID=1, LoginName=唐工, Truename=超級, Nickname=null, LoginPwd=E10ADC3949BA59ABBE56E057F20F883E, QQ=, Phone=, Email=null, Remark=, Account_Non_Locked=0, Telelephone=null, Indate=null, IsDelete=0, RoleList=null] 
 * 轉集合me:[User [UserID=1, LoginName=唐工, Truename=超級, Nickname=null, LoginPwd=E10ADC3949BA59ABBE56E057F20F883E, QQ=, Phone=, Email=null, Remark=, Account_Non_Locked=0, Telelephone=null, Indate=null, IsDelete=0, RoleList=null]] 
 * 轉對象里有集合u3:User [UserID=1, LoginName=唐工, Truename=超級, Nickname=null, LoginPwd=E10ADC3949BA59ABBE56E057F20F883E, QQ=, Phone=, Email=null, Remark=, Account_Non_Locked=0, Telelephone=null, Indate=null, IsDelete=0, RoleList=[Role [Roleid=0, Name=超級管理員, Show_Name=超級管理員, Remark=null, Type=1]]] 
 * 集合里是對象 對象里有集合轉換:[User [UserID=1, LoginName=唐工, Truename=超級, Nickname=null, LoginPwd=E10ADC3949BA59ABBE56E057F20F883E, QQ=, Phone=, Email=null, Remark=, Account_Non_Locked=0, Telelephone=null, Indate=null, IsDelete=0, RoleList=[Role [Roleid=0, Name=超級管理員, Show_Name=超級管理員, Remark=null, Type=1]]], User [UserID=2, LoginName=唐工, Truename=超級, Nickname=null, LoginPwd=E10ADC3949BA59ABBE56E057F20F883E, QQ=, Phone=, Email=null, Remark=, Account_Non_Locked=0, Telelephone=null, Indate=null, IsDelete=0, RoleList=[Role [Roleid=0, Name=超級管理員, Show_Name=超級管理員, Remark=null, Type=1]]]] 
 * */ 

看完上述內容,你們對使用Java的Jackson庫中如何實現轉換復雜對象集合有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴和县| 丹凤县| 濉溪县| 辽中县| 佳木斯市| 交城县| 乌苏市| 仁布县| 武陟县| 鸡泽县| 团风县| 黑山县| 景洪市| 黑龙江省| 文化| 清水河县| 宜州市| 屏东县| 双鸭山市| 沅陵县| 万山特区| 杭州市| 通州市| 嫩江县| 嵊州市| 桦南县| 清河县| 乌拉特中旗| 海门市| 报价| 石泉县| 蒲江县| 鹿邑县| 鄂伦春自治旗| 宝应县| 吐鲁番市| 亚东县| 新昌县| 体育| 灵璧县| 巴中市|