FastJson是阿里开源的JSON解析库,它可以解析JSON格式的字符串,支持将JAVA Bean序列化JSON字符串,也可以从JSON字符串反序列化到JavaBean。相比其他JSON库而言,FastJson的性能还是不错的,目前在日常开发中使用也非常广泛,且上手也非常简单,支持的功能也非常完备,比如支持泛型、支持流处理超大文本、支持枚举、支持序列化和反序列化扩展。
前戏很重要!-
引入FastJson依赖
com.alibaba fastjson1.2.78 -
创建User类
// lombok @Data public class User { private Long id; private String username; private String password; private Integer sex; private Integer age; private String autograph; private Integer status; private Date updateTime; private Date createTime; }
- 造点数据
package cn.msjava.coding; import cn.msjava.coding.eneity.User; import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.Date; import java.util.List; public class Main { public static void main(String[] args) { User user = new User(); user.setId(1L); user.setUsername("admin"); user.setPassword("admin"); user.setSex(1); user.setAge(18); user.setAutograph("风往哪儿吹,不要问跟风的人~"); user.setCreateTime(new Date()); user.setUpdateTime(new Date()); String userJson = JSON.toJSONString(user); System.out.println(userJson); } }
- 转换结果
{ "age": 18, "autograph": "风往哪儿吹,不要问跟风的人~", "createTime": 1641135506750, "id": 1, "password": "admin", "sex": 1, "updateTime": 1641135506750, "username": "admin" }2. List集合转Json
- 造点数据
package cn.msjava.coding; import cn.msjava.coding.eneity.User; import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.Date; import java.util.List; public class Main { public static void main(String[] args) { User user = new User(); user.setId(1L); user.setUsername("admin"); user.setPassword("admin"); user.setSex(1); user.setAge(18); user.setAutograph("风往哪儿吹,不要问跟风的人~"); user.setCreateTime(new Date()); user.setUpdateTime(new Date()); User user1 = new User(); user1.setId(1L); user1.setUsername("admin1"); user1.setPassword("admin1"); user1.setSex(0); user1.setAge(18); user1.setAutograph("祖国必然统一~"); user1.setCreateTime(new Date()); user1.setUpdateTime(new Date()); ListuserList = new ArrayList (); userList.add(user); userList.add(user1); String userListJson = JSON.toJSONString(userList); System.out.println(userListJson); } }
- 转换结果
[ { "age": 18, "autograph": "风往哪儿吹,不要问跟风的人~", "createTime": 1641135971494, "id": 1, "password": "admin", "sex": 1, "updateTime": 1641135971494, "username": "admin" }, { "age": 18, "autograph": "祖国必然统一~", "createTime": 1641135971494, "id": 1, "password": "admin1", "sex": 0, "updateTime": 1641135971494, "username": "admin1" }]3. Map集合转Json
- 造点数据
package cn.msjava.coding; import cn.msjava.coding.eneity.User; import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; public class Main { public static void main(String[] args) { User user = new User(); user.setId(1L); user.setUsername("admin"); user.setPassword("admin"); user.setSex(1); user.setAge(18); user.setAutograph("风往哪儿吹,不要问跟风的人~"); user.setCreateTime(new Date()); user.setUpdateTime(new Date()); User user1 = new User(); user1.setId(1L); user1.setUsername("admin1"); user1.setPassword("admin1"); user1.setSex(0); user1.setAge(18); user1.setAutograph("祖国必然统一~"); user1.setCreateTime(new Date()); user1.setUpdateTime(new Date()); HashMapuserMap = new HashMap (); userMap.put("user",user); userMap.put("user1",user1); String userMapJson = JSON.toJSONString(userMap); System.out.println(userMapJson); } }
- 转换结果
{ "user1": { "age": 18, "autograph": "祖国必然统一~", "createTime": 1641173214065, "id": 1, "password": "admin1", "sex": 0, "updateTime": 1641173214065, "username": "admin1" }, "user": { "age": 18, "autograph": "风往哪儿吹,不要问跟风的人~", "createTime": 1641173214065, "id": 1, "password": "admin", "sex": 1, "updateTime": 1641173214065, "username": "admin" } }4. Json转Java对象
- 造点数据
package cn.msjava.coding; import cn.msjava.coding.eneity.User; import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; public class Main { public static void main(String[] args) { String userJson="{n" + "t"age": 18,n" + "t"autograph": "风往哪儿吹,不要问跟风的人~",n" + "t"createTime": 1641135506750,n" + "t"id": 1,n" + "t"password": "admin",n" + "t"sex": 1,n" + "t"updateTime": 1641135506750,n" + "t"username": "admin"n" + "}"; User user = JSON.parseObject(userJson, User.class); System.out.println(user.toString()); } }
- 转换结果
User(id=1, username=admin, password=admin, sex=1, age=18, autograph=风往哪儿吹,不要问跟风的人~, status=null, updateTime=Sun Jan 02 22:58:26 CST 2022, createTime=Sun Jan 02 22:58:26 CST 2022)5. Json转List集合
- 造点数据
package cn.msjava.coding; import cn.msjava.coding.eneity.User; import com.alibaba.fastjson.JSON; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; public class Main { public static void main(String[] args) { String userListJson="[n" + " {n" + "t"age": 18,n" + "t"autograph": "风往哪儿吹,不要问跟风的人~",n" + "t"createTime": 1641135971494,n" + "t"id": 1,n" + "t"password": "admin",n" + "t"sex": 1,n" + "t"updateTime": 1641135971494,n" + "t"username": "admin"n" + " },n" + " {n" + "t"age": 18,n" + "t"autograph": "祖国必然统一~",n" + "t"createTime": 1641135971494,n" + "t"id": 1,n" + "t"password": "admin1",n" + "t"sex": 0,n" + "t"updateTime": 1641135971494,n" + "t"username": "admin1"n" + "}]"; ListuserList = JSON.parseArray(userListJson, User.class); userList.forEach(x->{ System.out.println(x); }); } }
- 转换结果
User(id=1, username=admin, password=admin, sex=1, age=18, autograph=风往哪儿吹,不要问跟风的人~, status=null, updateTime=Sun Jan 02 23:06:11 CST 2022, createTime=Sun Jan 02 23:06:11 CST 2022) User(id=1, username=admin1, password=admin1, sex=0, age=18, autograph=祖国必然统一~, status=null, updateTime=Sun Jan 02 23:06:11 CST 2022, createTime=Sun Jan 02 23:06:11 CST 2022)6. Json转Map集合
- 造点数据
package cn.msjava.coding; import cn.msjava.coding.eneity.User; import com.alibaba.fastjson.JSONObject; import java.util.*; public class Main { public static void main(String[] args) { String userJson = "{n" + "t"user1": {n" + "tt"age": 18,n" + "tt"autograph": "祖国必然统一~",n" + "tt"createTime": 1641173214065,n" + "tt"id": 1,n" + "tt"password": "admin1",n" + "tt"sex": 0,n" + "tt"updateTime": 1641173214065,n" + "tt"username": "admin1"n" + "t},n" + "t"user": {n" + "tt"age": 18,n" + "tt"autograph": "风往哪儿吹,不要问跟风的人~",n" + "tt"createTime": 1641173214065,n" + "tt"id": 1,n" + "tt"password": "admin",n" + "tt"sex": 1,n" + "tt"updateTime": 1641173214065,n" + "tt"username": "admin"n" + "t}n" + "}"; MapuserMap = (Map)JSONObject.parse(userJson); for (Map.Entry entry: userMap.entrySet()){ System.out.println(entry.getKey()); System.out.println(entry.getValue()); } } }
- 转换结果
user1 {"password":"admin1","createTime":1641173214065,"sex":0,"autograph":"祖国必然统一~","updateTime":1641173214065,"id":1,"age":18,"username":"admin1"} user {"password":"admin","createTime":1641173214065,"sex":1,"autograph":"风往哪儿吹,不要问跟风的人~","updateTime":1641173214065,"id":1,"age":18,"username":"admin"}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)