Spring json和 Map, List等bean的转换

来源:互联网 发布:sql删除数据库字段 编辑:程序博客网 时间:2024/06/05 04:49

Spring  json和 Map, List等bean的转换,代码如下:


1: 将map集合转换成json字符串和将json字符串转换成map

1. [代码][Java]代码 

Map<String,Object> map = newHashMap<String,Object>();map.put("method","json");map.put("param",null);map.put("time","2015-01-23 10:54:55");ObjectMapper mapper = newObjectMapper();mapper.writeValueAsString(map);

 

2. [代码][Java]代码    

 
publicstaticvoidreadJson2Map(String json) {        ObjectMapper objectMapper = newObjectMapper();        try{             //将json字符串转成map结合解析出来,并打印(这里以解析成map为例)            Map<String, Map<String, Object>> maps = objectMapper.readValue(                    json, Map.class);            System.out.println(maps.size());            Set<String> key = maps.keySet();            Iterator<String> iter = key.iterator();            while(iter.hasNext()) {                String field = iter.next();                System.out.println(field + ":"+ maps.get(field));            }        }catch(JsonParseException e) {            e.printStackTrace();        }catch(JsonMappingException e) {            e.printStackTrace();        }catch(IOException e) {            e.printStackTrace();        }    }readJson2Map(json);

 

public class Jackson {      /*      *      * Class Descripton goes here.      *      * @class Jackson      * @version  1.0      */      public  static JsonGenerator jsonGenerator = null;      private static ObjectMapper mapper = new ObjectMapper();      public static void main(String[] args) {          Student student = new Student();          student.setIsstudent(true);          student.setUid(1000);          student.setUname("xiao liao");          student.setUpwd("123");          student.setNumber(12);                    Map<String, Student> stuMap = new HashMap<String, Student>();          stuMap.put("1", student);          stuMap.put("2", student);                    List<Object> stuList = new ArrayList<Object>();          List<Student> stuList1 = new ArrayList<Student>();          stuList1.add(student);          student=  new  Student();          student.setIsstudent(false);          student.setUid(200);          student.setUname("xiao mi");          stuList1.add(student);                    stuList.add(student);          stuList.add("xiao xin");          stuList.add("xiao er");          stuList.add(stuMap);                    //readJson2List();          try {              //readJson2Array();              //writeArray2Json(array);              //writeJson2List();              //writeEntity2Json(student);              writeJson2Entity();              //writeMap2Json(stuMap);              //writeList2Json(stuList1);                        } catch (IOException e) {              e.printStackTrace();          }      }       /**       *        * <code>writeEntity2Json</code>       * @description: TODO(实体类转换成json)        * @param object       * @throws IOException       */       public static void writeEntity2Json(Object object) throws IOException {             mapper.writeValue( new File("D:\\developSoft\\aaadowload\\testjson1\\lib\\aa.txt"),object );             mapper.writeValue( System.out,object );                  }       /**       *        * <code>writeArray2Json</code>       * @description: TODO(数组转换成json数组)        * @param object       * @throws IOException       */       public static void writeArray2Json(Object object) throws IOException {                      // writeValue具有和writeObject相同的功能           mapper.writeValue( new File("D:\\developSoft\\aaadowload\\testjson1\\lib\\aa.txt"),object );           mapper.writeValue(System.out,object );                  }       /**       *        * <code>writeMap2Json</code>       * @description: TODO(map对象转换成json对象)        * @param object       * @throws IOException       */       public static void writeMap2Json(Object object) throws IOException {                      System.out.println("使用ObjectMapper-----------");           // writeValue具有和writeObject相同的功能           System.out.println("==>"+mapper.writeValueAsString(object));           mapper.writeValue( new File("D:\\developSoft\\aaadowload\\testjson1\\lib\\aamap.txt"),object );           mapper.writeValue( System.out , object );       }       /**       *        * <code>writeList2Json</code>       * @description: TODO(list转换成json)        * @param object       * @throws IOException         */       public static void writeList2Json(Object object) throws IOException {           System.out.println("==>"+mapper.writeValueAsString(object));           mapper.writeValue( new File("D:\\developSoft\\aaadowload\\testjson1\\lib\\aamap.txt"),object );           mapper.writeValue( System.out , object );       }       /**       *        * <code>writeJson2Entity</code>       * @description: TODO(json转换成实体)        * @throws IOException       */       public static void writeJson2Entity() throws IOException {           System.out.println("json串转换成entity-------------");  //       File file = new File("D:\\developSoft\\aaadowload\\testjson1\\lib\\aa.txt");  //       FileInputStream inputStream = new FileInputStream(file);  //       Student student = mapper.readValue(inputStream,Student.class);  //       System.out.println(student.toString());           //漂亮输出           //mapper.defaultPrettyPrintingWriter().writeValueAsString(value);                 String json = "{\"uid\":1000,\"uname\":\"xiao liao\",\"upwd\":\"123\",\"number\":12.0,\"isstudent\":true}";           Student student1 = mapper.readValue(json,Student.class);           System.out.println("json2:"+student1.toString());       }       /**       *        * <code>writeJson2List</code>       * @description: TODO(json专程list对象)         */       public static void writeJson2List() throws IOException {           System.out.println("json串转换成entity-------------");           File file = new File("D:\\developSoft\\aaadowload\\testjson1\\lib\\aa.txt");           FileInputStream inputStream = new FileInputStream(file);           Student student = mapper.readValue(inputStream,Student.class);           System.out.println(student.toString());                      String json = "[{\"uid\":1000,\"uname\":\"xiao liao\",\"upwd\":\"123\",\"number\":12.0,\"isstudent\":true},{\"uid\":200,\"uname\":\"xiao mi\",\"upwd\":null,\"number\":0.0,\"isstudent\":false}]";           List<LinkedHashMap<String, Object>> s= mapper.readValue(json,List.class);           for (int i = 0; i < s.size(); i++) {               LinkedHashMap<String, Object> link = s.get(i);               Set<String>  key = link.keySet();               for (Iterator iterator = key.iterator(); iterator.hasNext();) {                  String string = (String) iterator.next();                  System.out.println(string+"==>"+link.get(string));                                }               System.out.println("json:"+i+""+s.get(i).toString());                        }       }       /**        * JSON转换为List对象        */        public static void readJson2List() {         String json = "[{\"uid\":1,\"uname\":\"www\",\"number\":234,\"upwd\":\"456\"},"           + "{\"uid\":5,\"uname\":\"tom\",\"number\":3.44,\"upwd\":\"123\"}]";         try {          List<LinkedHashMap<String, Object>> list = mapper.readValue(            json, List.class);          System.out.println(list.size());          for (int i = 0; i < list.size(); i++) {           Map<String, Object> map = list.get(i);           Set<String> set = map.keySet();           for (Iterator<String> it = set.iterator(); it.hasNext();) {            String key = it.next();            System.out.println(key + ":" + map.get(key));           }          }         } catch (JsonParseException e) {          e.printStackTrace();         } catch (JsonMappingException e) {          e.printStackTrace();         } catch (IOException e) {          e.printStackTrace();         }        }        /**        * JSON转换为List对象        */        public static void readJson2Array() {            String json = "[{\"uid\":1,\"uname\":\"www\",\"number\":234,\"upwd\":\"456\"},"                + "{\"uid\":5,\"uname\":\"tom\",\"number\":3.44,\"upwd\":\"123\"}]";            try {                Student[] students = mapper.readValue(json, Student[].class);                for (Student student : students) {                  System.out.println(">"+student.toString());              }            } catch (JsonParseException e) {                e.printStackTrace();            } catch (JsonMappingException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }        }    }  


上面的代码则是演示数组,list等对象如何转换为json的。

0 0