打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Gson在java中的使用

liaoyun2016-12-25

 

在java的使用过程中,有时候我们会遇到这样一个问题——将一个对象序列化,保存起来,在以后的某个时候,又需要将保存的数据进行反序列化,以便在代码中使用。

 

google开发的一个小工具——Gson, 可以方便的帮我们完成这个工作。具体的使用方式如下:

 

一:将 序列化后的字符串 转 成 map 对象

 

public static Map<String,String>jsonStringToMap(String jsonString) throws Exception{

       if(jsonString!= null){

              Gsongson = new Gson();

              Map<String,String>map = gson.fromJson(jsonString, new  TypeToken<Map<String,String>>(){}.getType());

              returnmap;

       }else{

              returnnull;

       }

}

 

二、将java对象转换为json字符串

 

public static String objectToJson(Objectobject){

       try{

              Gsongson = new Gson();

              Stringstr = gson.toJson(object);

              returnstr;

       }catch(Exceptione){

              e.printStackTrace();

              returnnull;

       }

}

 

三、json字符串转化为 java 对象

 

public static <T> TjsonStrToObject(String jsonStr, Class<T> clazz){

       try{

              JsonElementje = new JsonParser().parse(jsonStr);

              Tt =  new Gson().fromJson(je, clazz);

              returnt;

       }catch(Exceptione){

              e.printStackTrace();

              returnnull;

       }

}

 

四、list 序列化后的字符串转为 list 对象集合

 

public static <T> List<T>listStringToOjectList(Class<T> type,String listString){

       List<T>list = new ArrayList<T>();

       JsonArrayarray = new JsonParser().parse(listString).getAsJsonArray();

       for(JsonElement e : array) {

              list.add(newGson().fromJson(e, type));

       }

       returnlist;

}

 

五、将InputStream 转为 字符串

 

public static StringstreamToJsonString(InputStream is){

       if(is== null){

              returnnull;

       }

       ByteArrayOutputStreambaos=null;

       try{

              intlen=0;

              baos= new ByteArrayOutputStream();

              byte[]data = new byte[1024];

              while((len=is.read(data))!=-1){

                     baos.write(data,0,len);

              }

       }catch (IOException e) {

              e.printStackTrace();

       }

       Strings="";

       if(baos!=null){

              s= new String(baos.toByteArray());

       }

       returns;

}

 

六、将InputStream 转为 字符串

 

public static StringinputStreamToString(InputStream is){

       Scannerscanner = new Scanner(is, "UTF-8");

       Strings = scanner.useDelimiter("\\A").next();

       returns;

}

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
java json格式化的两种方式
利用gson将map转为json示例
微信公众账号开发教程第17篇-应用实例之智能翻译
Java对象的序列化与反序列化
Java读取相对路径文件 &InputStream转换为String
JAVA将字符串变为输入流
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服