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. php的date()函数判断今天是星期几

    d  月份中的第几天,有前导零的 2 位数字 01 到 31 D  星期中的第几天,文本表示,3 个字母 Mon 到 Sun j  月份中的第几天,没有前导零 1 到 31 l  ("L&q ...

  2. mysql 获取数据库和表结构信息

    SELECT * FROM information_schema.`TABLES` where TABLE_SCHEMA = '数据库名';SELECT * FROM information_sche ...

  3. Django_前介

    Django 1.软件框架 ​ 一个公司是由公司中的各部部门来组成的,每一个部门拥有特定的职能,部门与部门之间通过相互的配合来完成让公司运转起来. ​ 一个软件框架是由其中各个软件模块组成的,每一个模 ...

  4. Python这五个坑,80%你不知道(对的,五个你知道1个就达到一般水平了)

    1 含单个元素的元组 Python中有些函数的参数类型为元组,其内有1个元素,这样创建是错误的: c = (5) # NO! 它实际创建一个整型元素5,必须要在元素后加一个逗号: ! c = (5,) ...

  5. PyTorch基础——机器翻译的神经网络实现

    一.介绍 内容 "基于神经网络的机器翻译"出现了"编码器+解码器+注意力"的构架,让机器翻译的准确度达到了一个新的高度.所以本次主题就是"基于深度神经 ...

  6. Windows安装使用Jenkins

    #前提条件是要把JDK安装好 1.下载jenkins:https://jenkins.io/download/ 选择windows版本 2.安装成功过后自己会启动 如果想自己启动(这两个需要以管理员方 ...

  7. Java之接口(java8的新特性)

    public class SubClassTest { public static void main(String[] args) { SubClass s = new SubClass(); // ...

  8. IMX6Q开发板Linux-QT挂载U盘及TF卡

    本文基于:迅为-iMX6开发板Linux-QT挂载U盘及TF卡 如下图所示,qt 启动之后,在超级终端中使用命令“mknod /dev/sda1 b 8 1”创建 U盘的设备节点,如下图所示. 插入 ...

  9. 三十八、LNMP潮流组合搭建

    一.安装mysql 数据库 1.1  mysql数据库安装的三种方法: 1)编译安装,在lamp经典组合安装是5.1版本,是configure,make,make install,这里如果是5.5版本 ...

  10. VMware安装 RHEL安装完后,选择桥接模式如何与主机网络连通

    .查看主机的ip与网关,dns配置,如图 2.在linux系统中打开cd  /etc/sysconfig/network-scripts/  #进入网络配置文件目录 vi  ifcfg-eno1677 ...