https://blog.csdn.net/weixin_36910300/article/details/79182120

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

部门员工类

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<Person> personList; public String getDeptName() {
return deptName;
} public void setDeptName(String deptName) {
this.deptName = deptName;
} public List<Person> getPersonList() {
return personList;
} public void setPersonList(List<Person> personList) {
this.personList = personList;
}
@Override
public String toString() {
return "Dept{" +
"deptName='" + deptName + '\'' +
", personList=" + personList +
'}';
}
}

对象转为json字符串格式

JSON.toJSONString(Object object)
@Test
public void fun1(){
List<Person> personArrayList = new ArrayList<Person>();
Person person = new Person();
person.setId();
person.setName("张三");
person.setAge();
System.out.println(JSON.toJSONString(person));
personArrayList.add(person);
Person person1 = new Person();
person1.setId();
person1.setName("李四");
person1.setAge();
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<T> 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<T> clazz)
 @Test
public void fun3(){
String str="[{\"age\":18,\"id\":1,\"name\":\"张三\"},{\"age\":18,\"id\":2,\"name\":\"李四\"}]";
List<Person> PersonList=JSON.parseArray(str,Person.class);
System.out.println(PersonList);
}

控制台打印

Map集合转json

JSON.toJSONString(Object object)
@Test
public void fun4(){
Map<String,Person> personMap=new HashMap<String, Person>();
Person person = new Person();
person.setId();
person.setName("张三");
person.setAge();
personMap.put("zhangsan",person); Person person1 = new Person();
person1.setId();
person1.setName("李四");
person1.setAge();
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<String,Person> map = (Map)JSONObject.parse(str);
System.out.println(map.get("lisi"));
System.out.println(map.get("zhangsan"));
}

控制台的打印输出

FastJson的学习之JSON互相转Map集合,List集合,JavaBean的更多相关文章

  1. fastJson将json字符串转换为map

    public class JsonUtil { /** * 将json转化成map * @param jsonStr * @return */ public static Map<String, ...

  2. java分享第十三天(fastjson生成和解析json数据,序列化和反序列化数据)

     fastjson简介:Fastjson是一个Java语言编写的高性能功能完善的JSON库.fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jack ...

  3. fastjson生成和解析json数据,序列化和反序列化数据

    本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<M ...

  4. fastjson生成和解析json数据

    本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<M ...

  5. json小结和fastjson包的实际json操作

    工作中,需要处理与另一方系统数据交换的问题,采用的是调用远程接口的方法,数据格式选择的是json,今天就来聊一聊json,主要分析json数据和java Bean之间的转换问题. 一.json是什么 ...

  6. Json字符串转map集合

    第一步:在pom.xml中添加依赖; <dependency> <groupId>com.alibaba</groupId> <artifactId>f ...

  7. JSON字符串转换为Map

    本文是利用阿里巴巴封装的FastJSON来转换json字符串的.例子如下: package com.zkn.newlearn.json; import com.alibaba.fastjson.JSO ...

  8. 黑马学习ajax&json 笔记

    ## 今日内容 1. AJAX: 2. JSON # AJAX: 1. 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步 ...

  9. 记一次FastJSON和Jackson解析json时遇到的中括号问题

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jadyer/article/details/24395015 完整版见https://jadyer. ...

随机推荐

  1. 阿里云-容器服务之集群服务 k8s(Jenkins+gitlab+k8s的devops)- 01

    由于docker官方停止更新Swarm,另外swarm在使用期间出现了很多bug,所以阿里云也在2019年7月发布公告:于2019年12月31日起停止技术支持,请您尽快迁移至容器服务Kubernete ...

  2. PAT Advanced 1097 Deduplication on a Linked List (25) [链表]

    题目 Given a singly linked list L with integer keys, you are supposed to remove the nodes with duplica ...

  3. C盘满了解决办法之pagefile.sys文件

    pagefile.sys文件一般存在于C盘,只有点击了隐藏属性才能看见. 这个文件一般比较大,它是系统创建虚拟内存页面的文件.平时大家使用软件的时候对于产生大量的临时数据,这些数据需要占用大量内存,如 ...

  4. 1013A.Piles With Stones

    题目出处:http://codeforces.com/contest/1013/problem/A #include<iostream> using namespace std; int ...

  5. InsertionSort(插入排序)原理及C++代码实现

    插入排序是最常用的排序之一. 在输入规模较小的时候,插入排序的性能较好. 最好情况下插入排序的时间复杂度是O(n),平均情况则为O(n2). 插入排序是稳定的排序算法之一. 基本思路为从第二个元素开始 ...

  6. 吴裕雄--天生自然 PYTHON3开发学习:MySQL - mysql-connector 驱动

    import mysql.connector mydb = mysql.connector.connect( host="localhost", # 数据库主机地址 user=&q ...

  7. day49-线程-事件

    #1.Event里面有一个标志flag,当e = Event()刚创建的时候,flag=False,阻塞,这个时候,e.is_set()也是等于False,阻塞. #e.set()让flag变成非阻塞 ...

  8. 2)thinkphp的带有命名空间的自动加载机制

    (1)为啥thinkphp里面的文件要是写你的命名空间,要与你的路径一样,因为在thinkphp实现自动加载机制的原理,就是靠的你的命名空间对应这个路径,然后自动加载机制通过这个路径找到你的类文件,然 ...

  9. Java常用基本类库总结

    1.String成员方法 boolean equals(Object obj);//判断字符串的内容是否相同,区分大小写. boolean equalsIgnoreCase(String str);/ ...

  10. xmemcached过期时间

    最近项目中使用到了Memcached,而客户端选择了XMemcached ,在设置过期时间时,因对Memcached 不熟悉,将expire 设置为1000000000,本意表示尽量长的时间不要过期, ...