博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON 学习 :JSON数据串、对象、数组之间的转化
阅读量:7071 次
发布时间:2019-06-28

本文共 2725 字,大约阅读时间需要 9 分钟。

1 package utils;  2   3 import java.util.ArrayList;  4 import java.util.List;  5 import com.google.gson.Gson;  6 import com.google.gson.JsonObject;  7 import com.google.gson.reflect.TypeToken;  8 import java.lang.reflect.Type;  9 import bean.User; 10 import net.sf.json.JSONArray; 11  12 public class GsonUtil { 13  14     /** 15      * 将json数据串转换成对象数据 16      *  17      * @param json 18      * @param cls 19      * @return 20      * @throws Exception 21      */ 22     public static 
T fromJson(String json, Class
cls) throws Exception { 23 T obj = null; 24 Gson gson = new Gson(); 25 obj = cls.newInstance(); 26 obj = gson.fromJson(json, cls); 27 return obj; 28 } 29 30 /** 31 * 将对象转化成Json 数据串 32 * 33 * @param obj 34 * @return 35 */ 36 public static String objToJson(Object obj) { 37 return new Gson().toJson(obj); 38 } 39 40 /** 41 * 将List Json数据串转换成List集合 42 * 43 * @param json 44 * @param clas 45 * @return 46 */ 47 public static
ArrayList
jsonToArrayList(String json, Class
cls) { 48 Type type = new TypeToken
>() { 49 }.getType(); 50 ArrayList
jsonObjects = new Gson().fromJson(json, type); 51 52 ArrayList
arrayList = new ArrayList<>(); 53 for (JsonObject jsonObject : jsonObjects) { 54 arrayList.add(new Gson().fromJson(jsonObject, cls)); 55 } 56 return arrayList; 57 } 58 59 /** 60 * 将List集合转化成Json数据串 61 * 62 * @param list 63 * @return 64 */ 65 public static String listToJson(Object list) { 66 JSONArray jsonArray = JSONArray.fromObject(list); 67 return jsonArray.toString(); 68 } 69 70 /** 71 * test 72 * 测试 73 * @param args 74 */ 75 public static void main(String[] args) { 76 try { 77 User u1 = new User(); 78 u1.setUid(100000); 79 u1.setAddress("sasassdasd"); 80 u1.setAge(25); 81 u1.setEmail("2515@qq.com"); 82 u1.setName("sai"); 83 String string = objToJson(u1); 84 User u2 = new User(); 85 User u3 = new User(); 86 u3.setUid(100000); 87 u3.setAddress("sasassdasd"); 88 u3.setAge(25); 89 u3.setEmail("25175@qq.com"); 90 u3.setName("sai"); 91 List
uList = new ArrayList
(); 92 uList.add(u1); 93 uList.add(u3); 94 String s2 = listToJson(uList); 95 96 List
uList1 = new ArrayList
(); 97 uList1 = jsonToArrayList(s2, User.class); 98 99 for (User user : uList1) {100 System.out.println(user.toString());101 }102 103 u2 = fromJson(string, User.class);104 System.out.println(u2.toString());105 } catch (Exception e) {106 // TODO Auto-generated catch block107 e.printStackTrace();108 }109 }110 111 }

 

转载于:https://www.cnblogs.com/nSai-sj/p/6769693.html

你可能感兴趣的文章
服务器网卡丢包
查看>>
bzoj 2245: [SDOI2011]工作安排
查看>>
在LINUX下面建立GPRS无线MODEM拨号
查看>>
Photoshop制作一个质感的卡通小公仔
查看>>
VS2010编译错误之mt.exe : general error c101008d
查看>>
Vue CLI 3开发中屏蔽烦人的EsLint错误
查看>>
Percona XtraDB Cluster 集群环境建立与验证指南
查看>>
沣西大数据产业模式初探
查看>>
戴尔:给企业客户松绑
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
html遮罩层js代码(实用)
查看>>
javascript判断浏览器支持CSS3属性
查看>>
Xbox One 电源
查看>>
网页锚点链接
查看>>
Linux运维 第五阶段 puppet基础
查看>>
【自学Linux】Linux文件系统管理(二)
查看>>
我的友情链接
查看>>
二手交易市场将慢慢落幕还是繁华?
查看>>