java中json包的使用以及字符串,map,list,自定义对象之间的相互转换 | 您所在的位置:网站首页 › list对象转成string › java中json包的使用以及字符串,map,list,自定义对象之间的相互转换 |
做一个map和字符串的转换,需要导入这些jar包,这是最基本的一些jar包. 经过多方尝试得出结论入下: 首先导入基本包:json-lib-2.2.3-jdk15.jar 如果没有这个jar包,程序是写不起来的. 现在保证了程序编译能够通过,跑一下 出现异常:org/apache/commons/lang/exception/NestableRuntimeException 导入commons-lang-2.3.jar,问题解决. 跑一下: 出现异常:java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher 导入ezmorph-1.0.3.jar,问题解决 跑一下: 出现异常:java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 导入commons-logging-1.1.1.jar,问题解决 跑一下: 出现异常:java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap 导入commons-collections-3.2.1.jar,问题解决 跑一下: 出现异常:java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean 导入commons-beanutils-1.7.0.jar,问题解决 跑一下,异常没了. 下面来看看这些东西是怎么转换的. map转string Map map=new HashMap(); map.put("name", "思思博士"); map.put("age","25");JSONObject jsonObject=JSONObject.fromObject(map); String res=jsonObject.toString(); System.out.println(res);结果:{"age":"25","name":"思思博士"} list转string List list=new ArrayList(); list.add("中华"); list.add("人名"); list.add("共和国"); JSONArray jsonArray=JSONArray.fromObject(list); String res=jsonArray.toString(); System.out.println(res);结果:["中华","人名","共和国"]string转map String res="{\"age\":\"25\",\"name\":\"思思博士\"}"; //或者这样 //res="{'age':'25','name':'思思博士'}"; JSONObject jsonObject=JSONObject.fromObject(res); Map map = (HashMap) JSONObject.toBean(jsonObject, HashMap.class); System.out.println(map); System.out.println(map.size()); System.out.println(map.get("name")); System.out.println(map.getClass().getName());结果: {name=思思博士, age=25}2思思博士java.util.HashMap String 转成我们的自定义类 UserBean.java package json; public class UserBean { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } } String userS = "{'name':'思思博士','age':'25'}"; JSONObject obj = JSONObject.fromObject(userS); UserBean userBean = (UserBean) JSONObject.toBean(obj, UserBean.class); System.out.println(userBean.getName());字符串转换成数组 String arrayString="['a','b','ccc']"; JSONArray jsonArray=JSONArray.fromObject(arrayString); Object[] arr=jsonArray.toArray(); System.out.println(arr.length); System.out.println(arr[2]);结果: 3ccc json字符串转list public void testParseJsonArray() { //json集合 String jsonString = "[{\"age\":\"13\",\"name\":\"zhangSan\"},{\"age\":\"14\",\"name\":\"liSi\"}]"; JSONArray jsonArray = JSONArray.fromObject(jsonString); //Java集合 List list = (List) jsonArray.toCollection(jsonArray, Employee.class); for(Employee employee : list){ System.out.println(employee); } }
|
CopyRight 2018-2019 实验室设备网 版权所有 |