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

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

部门员工类

  1. public class Person {
  2.  
  3. private Integer id;
  4.  
  5. private String name;
  6.  
  7. private Integer age;
  8.  
  9. public Integer getId() {
  10. return id;
  11. }
  12.  
  13. public void setId(Integer id) {
  14. this.id = id;
  15. }
  16.  
  17. public String getName() {
  18. return name;
  19. }
  20.  
  21. public void setName(String name) {
  22. this.name = name;
  23. }
  24.  
  25. public Integer getAge() {
  26. return age;
  27. }
  28.  
  29. public void setAge(Integer age) {
  30. this.age = age;
  31. }
  32. @Override
  33. public String toString() {
  34. return "Person{" +
  35. "id=" + id +
  36. ", name='" + name + '\'' +
  37. ", age=" + age +
  38. '}';
  39. }
  40. }

部门类

  1. public class Dept {
  2. private String deptName;
  3. private List<Person> personList;
  4.  
  5. public String getDeptName() {
  6. return deptName;
  7. }
  8.  
  9. public void setDeptName(String deptName) {
  10. this.deptName = deptName;
  11. }
  12.  
  13. public List<Person> getPersonList() {
  14. return personList;
  15. }
  16.  
  17. public void setPersonList(List<Person> personList) {
  18. this.personList = personList;
  19. }
  20. @Override
  21. public String toString() {
  22. return "Dept{" +
  23. "deptName='" + deptName + '\'' +
  24. ", personList=" + personList +
  25. '}';
  26. }
  27. }

对象转为json字符串格式

  1. JSON.toJSONString(Object object)
  1. @Test
  2. public void fun1(){
  3. List<Person> personArrayList = new ArrayList<Person>();
  4. Person person = new Person();
  5. person.setId();
  6. person.setName("张三");
  7. person.setAge();
  8. System.out.println(JSON.toJSONString(person));
  9. personArrayList.add(person);
  10. Person person1 = new Person();
  11. person1.setId();
  12. person1.setName("李四");
  13. person1.setAge();
  14. personArrayList.add(person1);
  15. System.out.println(JSON.toJSONString(person1));
  16. Dept dept = new Dept();
  17. dept.setDeptName("财务部");
  18. dept.setPersonList(personArrayList);
  19. String jsonString = JSON.toJSONString(personArrayList);
  20. System.out.println(jsonString);
  21. }

控制台的打印

JSON字符串转JavaBean

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

控制台打印

JSON字符串数组转List集合

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

控制台打印

Map集合转json

  1. JSON.toJSONString(Object object)
  1. @Test
  2. public void fun4(){
  3. Map<String,Person> personMap=new HashMap<String, Person>();
  4. Person person = new Person();
  5. person.setId();
  6. person.setName("张三");
  7. person.setAge();
  8. personMap.put("zhangsan",person);
  9.  
  10. Person person1 = new Person();
  11. person1.setId();
  12. person1.setName("李四");
  13. person1.setAge();
  14. personMap.put("lisi",person1);
  15.  
  16. String json = JSON.toJSONString(personMap);
  17. System.out.println(json);
  18. }

控制台打印的信息

MapJson字符串转Map集合

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

控制台的打印输出

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. mybatis-关于<update>的日常记录

    !注意:,一定要有 <update id="updateByPrimaryKeySelective" parameterType="com.dhht.model.o ...

  2. [Algo] 132. Deep Copy Undirected Graph

    Make a deep copy of an undirected graph, there could be cycles in the original graph. Assumptions Th ...

  3. NOIp2017TG解题报告

    NOIp2018RP++! 虽然没去但还得写写QAQ D1T1 : 小凯的疑惑 数学题 手推几组数据然后发现规律 \(Ans = (a-1)(b-1)+1\) AC in 1minite D1T2 : ...

  4. 云服务器上安装MSF环境

    在校园网内,禁止使用路由器之类的,所以就导致自己本地虚拟机环境出现各种各样的网络问题,解决起来过于繁琐,为此在服务器上安装MSF 0x00 安装MSF 使用Xshell等工具连上远程服务器后,首先确保 ...

  5. SaltStack事件驱动 – event reactor

    Event是SaltStack里面的对每个事件的一个记录,它相比job更加底层,Event能记录更加详细的SaltStack事件,比如Minion服务启动后请求Master签发证书或者证书校验的过程, ...

  6. 虚拟机enp0s8网卡无法联网和开放linux端口

    1.虚拟机enp0s8网卡无法联网解决 在 VirtualBox 中安装好 centos7 后,发现使用 ping 命令测试连接外网 IP 地址,会报错,或者host-only网卡无ip,mobaXt ...

  7. ac_查看每个用户登陆服务器所使用的时间

    ac 如果你想知道每个用户登录服务器所使用的时间,你可以使用 ac 命令.这个命令需要你安装acct 包(Debian)或 psacct 包(RHEL,Centos). 如果我们想知道所有用户登陆服务 ...

  8. Qt 信息提示框 QMessageBox

    information QMessageBox::information(NULL, "Title","Content",QMessageBox::Yes | ...

  9. bwa index|amb|ann|bwt|pac|sa

    -.gapcloser.fa | > t1.fa bwa index -a bwtsw -p t1 t1.fa >t1.bwa_index.log >& #$ ll #tot ...

  10. An internal error occurred during: "Redeploy".

    原因:项目中JDK使用的版本与现在使用的JDK版本不同所致. 解决方法:右键选择项目>properties>java Build Path>Libraries 查看下面的JRE Sy ...