序列化
===================================================================
序列化就是指 把JavaBean对象转成JSON格式的字符串。
com.ali
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
baba.fastjson.JSON提供了许多方法(多态)实现序列化。

1.基本的序列化
String objJson = JSON.toJSONString(Object object);
传入一个对象,将对象转成JSON字符串。
例1:将Map转成JSON
Map<String, Object> map = new HashMap<String, Object>();
map.put(“key1”, “One”);
map.put(“key2”, “Two”);
String mapJson = JSON.toJSONString(map);输出结果:
{“key1”:“One”,“key2”:“Two”}
例2:自定义JavaBean User转成JSON。
User user = new User();
user.setUserName(“李四”);
user.setAge(24);
String userJson = JSON.toJSONString(user);输出结果:
{“age”:24,“userName”:“李四”}
反序列化
====================================================================
反序列化就是把JSON格式的字符串转化为Java Bean对象。
com.alibaba.fastjson.JSON提供了许多方法(多态)实现反序列化。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aYUTjNtM-1605684955339)(https://upload-images.jianshu.io/upload_images/20317748-3f706d09221df322?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
指定Class信息反序列化。
==============================================================================
例3:将例2反序列化。
User user1 = JSON.parseObject(userJson, User.class);
System.out.println(user1.getUserName());输出结果:
李四
泛型的反序列化
=======================================================================
泛型的反序列化,使用 TypeReference 传入类型信息。
例5:将例1反序列化。
Map<String, Object> map1 = JSON.parseObject(mapJson, new TypeReference<Map<String, Object>>(){});
System.out.println(map1.get(“key1”));
System.out.println(map1.get(“key2”));输出结果:
One
Two
JSONObject,JSONArray
====================================================================================
JSONObject,JSONArray是JSON的两个子类。
JSONObject相当于 Map<String, Object> ,
JSONArray相当于 List 。
简单方法示例:
例6:将Map转成JSONObject,然后添加元素,输出。
Map<String, Object> map = new HashMap<String, Object>();
map.put(“key1”, “One”);
map.put(“key2”, “Two”);
JSONObject j = new JSONObject(map);
j.put(“key3”, “Three”);
















