List与json字符串互转
先定义list集合,list转json字符串
[Java] 纯文本查看 复制代码
1 2 3 4 5 6 7 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">//定义list集合List list = new ArrayList();list.add(new Student("张三", "123"));list.add(new Student("李四", "456"));//list转json字符串JSONArray jsonArray = JSONArray.fromObject(list);System.out.println(jsonArray);</font></font></font> |
json字符串转list
[Java] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">//json字符串转listList list2 = new ArrayList();String jsondata = "[{\"password\":\"123\",\"username\":\"张三\"},{\"password\":\"456\",\"username\":\"李四\"}]";JSONArray jsonArray1 = JSONArray.fromObject(jsondata);for(int i = 0; i < jsonArray1.size(); i++) { JSONObject jsonObject2 = jsonArray1.getJSONObject(i); Student stu2 = (Student)JSONObject.toBean(jsonObject2, Student.class); list2.add(stu2);}System.out.println(list2);</font></font></font> |
全部代码
[Java] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">import java.util.ArrayList;import java.util.List; import net.sf.json.JSONArray;import net.sf.json.JSONObject; public class Json { public static void main(String[] args) { //定义list集合 List list = new ArrayList(); list.add(new Student("张三", "123")); list.add(new Student("李四", "456")); //list转json字符串 JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray); //json字符串转list List list2 = new ArrayList(); String jsondata = "[{\"password\":\"123\",\"username\":\"张三\"},{\"password\":\"456\",\"username\":\"李四\"}]"; JSONArray jsonArray1 = JSONArray.fromObject(jsondata); for(int i = 0; i < jsonArray1.size(); i++) { JSONObject jsonObject2 = jsonArray1.getJSONObject(i); Student stu2 = (Student)JSONObject.toBean(jsonObject2, Student.class); list2.add(stu2); } System.out.println(list2); }}</font></font></font> |
运行结果
定义map集合,Map转json字符串
[Java] 纯文本查看 复制代码
1 2 3 4 5 6 7 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">//定义map集合Map map = new HashMap();map.put("1", new Student("张三", "123"));map.put("2", new Student("李四", "456"));//Map转json字符串JSONObject jsonMap = JSONObject.fromObject(map);System.out.println(jsonMap);</font></font></font> |
定义字符串map集合,map集合字符串转为map
[Java] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">//定义字符串map集合String jsondata = "{\"1\":{\"password\":\"123\",\"username\":\"张三\"},\"2\":{\"password\":\"456\",\"username\":\"李四\"}}";//map集合字符串转为mapMap map2 = (Map)JSONObject.fromObject(jsondata);Set set = map2.keySet();//定义迭代器,迭代输出Iterator ite = set.iterator();while(ite.hasNext()) { //取出一个字符串对象 String key = (String)ite.next(); //转为json格式 JSONObject jsonObject = JSONObject.fromObject(map2.get(key)); //转为对象 Student stu = (Student)JSONObject.toBean(jsonObject, Student.class); System.out.println(key+" "+stu);}</font></font></font> |
全部代码
[Java] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set; import net.sf.json.JSONObject; public class Json { public static void main(String[] args) { //定义map集合 Map map = new HashMap(); map.put("1", new Student("张三", "123")); map.put("2", new Student("李四", "456")); //Map转json字符串 JSONObject jsonMap = JSONObject.fromObject(map); System.out.println(jsonMap); //定义字符串map集合 String jsondata = "{\"1\":{\"password\":\"123\",\"username\":\"张三\"},\"2\":{\"password\":\"456\",\"username\":\"李四\"}}"; //map集合字符串转为map Map map2 = (Map)JSONObject.fromObject(jsondata); Set set = map2.keySet(); //定义迭代器,迭代输出 Iterator ite = set.iterator(); while(ite.hasNext()) { //取出一个字符串对象 String key = (String)ite.next(); //转为json格式 JSONObject jsonObject = JSONObject.fromObject(map2.get(key)); //转为对象 Student stu = (Student)JSONObject.toBean(jsonObject, Student.class); System.out.println(key+" "+stu); } }}</font></font></font> |
运行结果
定义list集合,List转型JSONArray
[Java] 纯文本查看 复制代码
1 2 3 4 5 6 7 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">//定义list集合List<Student> list = new ArrayList<Student>();list.add(new Student("张三", "123"));list.add(new Student("李四", "456"));//List转型JSONArrayJSONArray jsonArray = JSONArray.fromObject(list);System.out.println(jsonArray.toString());</font></font></font> |
JSONArray转型List,JSONArray是用的上面的那个jsonArray变量
[Java] 纯文本查看 复制代码
1 2 3 4 5 6 7 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">//JSONArray转型ListList<Student> list2 = JSONArray.toList(jsonArray, new Student(), new JsonConfig());Iterator<Student> ite = list2.iterator();while(ite.hasNext()) { Student stu = ite.next(); System.out.println(stu);}</font></font></font> |
全部代码
[Java] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">import java.util.ArrayList;import java.util.Iterator;import java.util.List; import net.sf.json.JSONArray;import net.sf.json.JsonConfig; public class Json { public static void main(String[] args) { //定义list集合 List<Student> list = new ArrayList<Student>(); list.add(new Student("张三", "123")); list.add(new Student("李四", "456")); //List转型JSONArray JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray.toString()); //JSONArray转型List List<Student> list2 = JSONArray.toList(jsonArray, new Student(), new JsonConfig()); Iterator<Student> ite = list2.iterator(); while(ite.hasNext()) { Student stu = ite.next(); System.out.println(stu); } }}</font></font></font> |
运行结果
定义数组,数组转JSONArray
[Java] 纯文本查看 复制代码
1 2 3 4 5 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">//定义数组boolean[] boolArray = {true, false, true};//java数组转JSONArrayJSONArray jsonArray = JSONArray.fromObject(boolArray);System.out.println(jsonArray.toString());</font></font></font> |
JSONArray转java数组
[Java] 纯文本查看 复制代码
1 2 3 4 5 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">//JSONArray转java数组Object obj[] = jsonArray.toArray();for(Object o : obj) { System.out.print(o+"\t");}</font></font></font> |
全部代码
[Java] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 | <font style="color:rgb(77, 77, 77)"><font face="""><font style="font-size:16px">import net.sf.json.JSONArray; public class Json { public static void main(String[] args) { //定义数组 boolean[] boolArray = {true, false, true}; //java数组转JSONArray JSONArray jsonArray = JSONArray.fromObject(boolArray); System.out.println(jsonArray.toString()); //JSONArray转java数组 Object obj[] = jsonArray.toArray(); for(Object o : obj) { System.out.print(o+"\t"); } }}</font></font></font> |
运行结果
更多学习资料可关注:annalin1203获取