2021-10-13

**

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接口编程,纳闷就能通过使用注解完成数据转换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值