**
JSON数据转化(三)
**
前言
前面我们已经分析过了JSON数据格式,以及序列化和反序列化的方法,序列化和反序列化过程中的详细案例会在后面持续更新,但是前提是上次文章中的分页序列化一定要掌握,然后对于一些详细的序列化方法,我们今天会继续讲解。
一、什么是JSON序列化?
序列化这个词汇我们在java中经常需要,在很多技术栈中我们都要使用到序列化,在我的一篇关于Redis配置的文章中,就讲到了序列化,地址奉上:Redis序列化。
序列化 (Serialization)就是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
二、序列化案例
1.普通JavaBean转为Json格式
1.转化成 JSONArray
User user = new User();
user.setUserName("1");
user.setPassword("111");
JSONArray json = JSONArray.fromObject(user);
System.out.println(json);//[{"password":"111","username":"1"}]
response.getWriter().print(json.toString());
2.转化成JSONObject
JSONObject jsonObj = JSONObject.fromObject(user);
System.out.println(jsonObj);//{"password":"111","username":"1"}
response.getWriter().print(jsonObj);
2.List转成JSON格式
List<User> users = new ArrayList<User>();
User user = new User();
user.setUsername("1");
user.setPassword("11");
User u = new User();
u.setUsername("2");
u.setPassword("22");
users.add(user);
users.add(u);
JSONArray json = JSONArray.fromObject(users);
System.out.println(json.toString());
//[{"password":"11","username":"1"},{"password":"22","username":"2"}]
response.getWriter().print(json.toString());
JSONObject jsonObj = new JSONObject();
jsonObj.put("users", users);
System.out.println(jsonObj);
//{"users":[{"password":"11","username":"1"},{"password":"22","username":"2"}],
response.getWriter().print(jsonObj);
3.Map转成JSON格式
Map<String,Object> map = new HashMap<String,Object>();
map.put("users", users);
map.put("u", u);
JSONArray json = JSONArray.fromObject(map);
System.out.println(json.toString());
//[{"users":[{"password":"11","username":"1"},{"password":"22","username":"2"}],"u":{"password":"22","username":"2"}}]
response.getWriter().print(json.toString);
JSONObject json = JSONObject.fromObject(map);
System.out.println(json);
//{"user":[{"password":"11","username":"1"},{"password":"22","username":"2"}],"u":{"password":"22","username":"2"}}
response.getWriter().print(json);
总结
上面作为JSON序列化的过程,前后端分离项目传输的是JSON数据,所以序列化是经常使用的,当然如果你使用了RESTful接口编程,纳闷就能通过使用注解完成数据转换。