首页 > 其他分享 >FastJson使用和案例

FastJson使用和案例

时间:2024-03-10 11:22:06浏览次数:25  
标签:FastJson Person System 案例 json 使用 println import out

FastJson使用和案例

导入依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.73</version>
        </dependency>

使用案例

1.新建Perosn类,辅助测试

package com.study.rabbit.mqtest;

import lombok.Data;

import java.util.List;

/**
 * @author LiFuhang
 * @date 2024年03月10日 10:21
 */

@Data
public class Person {

    private String name;
    private String age;
    private String skin;
    private List<Person> childrenList;

}

2.新建测试类FastJsonTests,编写使用案例

package com.study.rabbit;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.study.rabbit.mqtest.Person;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@SpringBootTest
class FastJsonTests {

    /**
     * 消费者接受消息测试
     */
    @Test
    public void fastJsonStudy() {

        Map<String, Object> mapMsg = new HashMap<>();
        mapMsg.put("name", "张三");
        mapMsg.put("age", "23");
        //将map转为json
        JSONObject jsonObject = new JSONObject(mapMsg);
        System.out.println("map转为json : " + jsonObject);
        //将json转为String
        String strMsg = jsonObject.toJSONString();
        System.out.println("json转为String : " + strMsg);
        //将String转json
        JSONObject jsonObject1 = JSONObject.parseObject(strMsg);
        System.out.println("String转json : " + jsonObject1);
        //将json转为实体类
        Person person = jsonObject.toJavaObject(Person.class);
        System.out.println("json转为实体类 : " + person);
        //将json转为map
        Map<String, Object> map = JSON.parseObject(jsonObject.toJSONString(), Map.class);
        System.out.println("json转为map : " + map);
        
                         System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");

        Person c1 = new Person();
        c1.setName("儿子");
        c1.setAge("19");
        Person c2 = new Person();
        c2.setName("闺女");
        c2.setAge("21");
        List<Person> cList = new ArrayList<>();
        cList.add(c1);
        cList.add(c2);
        Person p = new Person();
        p.setName("老子");
        p.setAge("47");
        p.setChildrenList(cList);
        System.out.println("包含集合的实体类 :" + p);

        //包含集合的实体类 转 json
        JSONObject jsonP = (JSONObject) JSONObject.toJSON(p);
        System.out.println("包含集合的实体类 转 json:" + jsonP);

        //包含数组的json 转 对应的实体类
        Person person1 = jsonP.toJavaObject(Person.class);
        System.out.println("包含数组的json 转 对应的实体类 : " + person1);

        //解析json内包含的数组
        JSONArray jsonArray = jsonP.getJSONArray("childrenList");
        System.out.println("解析json内包含的数组 :" + jsonArray);
        //获取jsonArray中的第一条数据
        JSONObject jsonObject2 = (JSONObject) jsonArray.get(0);
        System.out.println("获取jsonArray中的第一条数据 : " + jsonObject2);

    }

}

标签:FastJson,Person,System,案例,json,使用,println,import,out
From: https://www.cnblogs.com/lfh-blog/p/18063888

相关文章

  • spring 简单的使用 Hikari连接池 和 jdbc连接mysql 的一个简单例子
    pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://ma......
  • Ehcache 介绍(3)--Ehcache3 基本使用
    本文主要介绍Ehacche3的基本使用,文中所使用到的软件版本:Java1.8.0_341、Ehcache3.10.8。1、引入依赖<dependency><groupId>org.ehcache</groupId><artifactId>ehcache</artifactId><version>3.10.8</version><exclusions>......
  • 【Python使用】python高级进阶知识md总结第2篇:HTTP 请求报文,HTTP响应报文【附代码文
    python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:操作系统,虚拟机软件,Ubuntu操作系统,Linux内核及发行版,查看目录命令,切换目录命令,绝对路径和相对路径,创建、删除文件及目录命令,复制、移动文件及目录命令,终端命令格式的组成,查看命令帮助。HTTP请求报文,HTTP响应报文......
  • 通达信彗华量副图源码带有使用说明
    {通达信彗华量副图源码带有使用说明}{彗华量}彗华量副图,带有使用说明   虚:IF((CURRBARSCOUNT=1)AND(PERIOD=5),(VOL*240)/FROMOPEN,DRAWNULL),NODRAW;STICKLINE((CURRBARSCOUNT=1)AND(PERIOD=5),虚,0,-1,-1),COLOR00C0C......
  • 使用C#和MemoryCache组件实现轮流调用APIKey以提高并发能力
    文章信息标题:使用C#和MemoryCache组件实现轮流调用APIKey以提高并发能力的技巧摘要:本文介绍了如何利用C#语言中的MemoryCache组件,结合并发编程技巧,实现轮流调用多个APIKey以提高系统的并发能力。通过示例代码和详细说明,读者将了解如何有效地管理APIKey的调用次数限制,并优化系......
  • PicGo使用简明教程及踩坑记录
    PicGo使用简明教程及踩坑记录PicGo使用我现在用的博客的记录方式是Typora+PicGo+阿里云oss,这一套配置好后就非常方便了,可以快捷上传图片到云服务器,并且阿里云的速度也是我试过的几个云服务器里面最快的,价格也便宜,如果博客只有少量人看那基本上就跟不用钱一样,每个月就几毛。整套......
  • 规则二:使用内容网络发布
    刚开始通过不同的地理位置,网络请求速度不同这一现象,引出了如何加速组件的下载,在前面的序言中引出了,用户只有10%~20%的时间花在加载html页面内容的请求,其余的80%~90%都花在了组件的加载上,于是,如果缩短了组件的加载时间,就可以缩短用户请求的时间。于是,就引出了CDN(内容网络发布),根据我......
  • 规则三:使用Expires
    这个规则的主要观点在于缓存减少响应时间,我们是否有过这样的感觉,当你第一次访问一个网站和多次访问一个网站时,网站的加载速度是不一样的,这是因为当我们第一次访问的时候,加载了更多的http请求,就如同规则一那样,在理想情况下,我们不适用任何图片,任何脚本,任何样式的时候,他的加载速度是......
  • 使用AT+MQTT指令连接华为云实现数据上传
    1准备工作硬件设备模块:ESP-01-S固件烧录工具:ESP8266下载器串口调试工具:VOFA+参考文章:stm32+AT指令+ESP8266接入华为云物联网平台并完成属性上报与下发的命令处理2固件更新2.1为什么要重新安装固件由于ESP-01-S模块出厂没有集成MQTT指令,故需要自己下载固件包,详见官网固......
  • 使用docker搭建环境:安装tomcat、部署war包
     拉取上一步push的tomcat镜像,详见:https://www.cnblogs.com/uncleyong/p/18062439dockerpullregistry.cn-hangzhou.aliyuncs.com/qzcsbj/tomcat:v1.0  war包传到服务器(war包在网盘) 运行容器dockerrun\--nameqzcsbj_tomcat4\-p8184:8080\-v/root/my_do......