博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FastJson的学习之JSON互相转Map集合,List集合,JavaBean
阅读量:5293 次
发布时间:2019-06-14

本文共 3884 字,大约阅读时间需要 12 分钟。

maven工程的依赖

com.alibaba
fastjson
1.2.45

创建两个实体类 一个是部门类,一个是部门员工类

部门员工类

public class Person {
private Integer id; private String name; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "Person{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + '}'; } }

部门类

public class Dept {    private String deptName;    private List
personList; public String getDeptName() { return deptName; } public void setDeptName(String deptName) { this.deptName = deptName; } public List
getPersonList() { return personList; } public void setPersonList(List
personList) { this.personList = personList; } @Override public String toString() { return "Dept{" + "deptName='" + deptName + '\'' + ", personList=" + personList + '}'; }}

对象转为json字符串格式

JSON.toJSONString(Object object)
@Test    public void fun1(){        List
personArrayList = new ArrayList
(); Person person = new Person(); person.setId(1); person.setName("张三"); person.setAge(18); System.out.println(JSON.toJSONString(person)); personArrayList.add(person); Person person1 = new Person(); person1.setId(2); person1.setName("李四"); person1.setAge(18); personArrayList.add(person1); System.out.println(JSON.toJSONString(person1)); Dept dept = new Dept(); dept.setDeptName("财务部"); dept.setPersonList(personArrayList); String jsonString = JSON.toJSONString(personArrayList); System.out.println(jsonString); }

控制台的打印

这里写图片描述

JSON字符串转JavaBean

JSON.parseObject(String text,Class
clazz)
@Test    public void fun2(){        String str1="{\"age\":18,\"id\":1,\"name\":\"张三\"}";        System.out.println(JSON.parseObject(str1,Person.class));        String str2="{\"age\":18,\"id\":2,\"name\":\"李四\"}";        System.out.println(JSON.parseObject(str2,Person.class));    }

控制台打印

这里写图片描述

JSON字符串数组转List集合

JSON.parseArray(String text, Class
clazz)
@Test    public void fun3(){        String str="[{\"age\":18,\"id\":1,\"name\":\"张三\"},{\"age\":18,\"id\":2,\"name\":\"李四\"}]";        List
PersonList=JSON.parseArray(str,Person.class); System.out.println(PersonList); }

控制台打印

这里写图片描述

Map集合转json

JSON.toJSONString(Object object)
@Test    public void fun4(){        Map
personMap=new HashMap
(); Person person = new Person(); person.setId(1); person.setName("张三"); person.setAge(18); personMap.put("zhangsan",person); Person person1 = new Person(); person1.setId(2); person1.setName("李四"); person1.setAge(18); personMap.put("lisi",person1); String json = JSON.toJSONString(personMap); System.out.println(json); }

控制台打印的信息

这里写图片描述

MapJson字符串转Map集合

(Map)JSON.parse(Object object)
@Test    public void fun5(){        String str="{\"lisi\":{\"age\":18,\"id\":2,\"name\":\"李四\"},\"zhangsan\":{\"age\":18,\"id\":1,\"name\":\"张三\"}}";        Map
map = (Map)JSONObject.parse(str); System.out.println(map.get("lisi")); System.out.println(map.get("zhangsan")); }

控制台的打印输出

这里写图片描述

转载于:https://www.cnblogs.com/aotemanzhifu/p/9192383.html

你可能感兴趣的文章
java线程池原理
查看>>
为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?...
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
springBoot配置elasticsearch搜索
查看>>
Chapter 3 Phenomenon——12
查看>>
MyBatis源码解析【6】SqlSession运行
查看>>
中小学教育缴费遇到的一些问题
查看>>
FAIR开源Detectron:整合全部顶尖目标检测算法
查看>>
C语言中求最大最小值的库函数
查看>>
SRS
查看>>
14.typescript-类与接口
查看>>
js学习(精华帖)
查看>>
和小哥哥一起刷洛谷(1)
查看>>
分享squid缓存服务器配置-之conf配置文件的详细介绍
查看>>
jQuery教程详解(一)
查看>>
jquery对id中含有特殊字符的转义处理
查看>>
DP学习之路(1) 01背包
查看>>
获取元素样式信息于三中获取方式的区别
查看>>
测试主要环节
查看>>
08-17工作总结
查看>>