fastjson2 简单使用案例

2024-04-12 12:36
文章标签 简单 使用 案例 fastjson2

本文主要是介绍fastjson2 简单使用案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. maven 引入
<dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>2.0.43</version>
</dependency>
  1. 直接使用
Account account = new .... // java类对象
// 将java对象转化为 JSON字符串 人类可读性好
String a= JSON.toJSONString(account);// 将 JSON字符串 转化为 java对象
Account b = JSON.parseObject(a,Account.class);// 将java对象转化为 byte数组  人类可读性差
byte[] c = JSON.toJSONBytes(account);// 将 byte数组 转化为 java对象
Account d = JSON.parseObject(c,Account.class);// 使用 JSONB 将 java对象转化为 byte数组
byte[] e = JSONB.toBytes(account);// 使用 JSONB 将 byte数组 转化为 java对象
Account f=  JSONB.parseObject(e,Account.class);这里使用java对象作为例子  也可以使用其他的例如 基本数据类型  String类型等

参考 gitee网址文档

最后 说明一下 JSONB 和 JSON的区别

  1. 数据格式:
    JSON 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于文本,通常以 .json 作为文件扩展名。
    JSONB 是 Fastjson2 引入的二进制格式,它是为了提供高性能和高压缩比的二进制序列化能力而设计的。JSONB 格式的数据不是为了人类的直接阅读,而是为了在系统之间高效地传输和存储。
  2. 性能:
    JSON 格式由于是基于文本的,解析和生成可能相对较慢,尤其是在处理大量数据时。
    JSONB 格式由于是二进制的,解析和生成的速度通常更快,占用的存储空间也更小。这使得 JSONB 在性能要求较高的场景中更为适用。
  3. 兼容性:
    JSON 格式具有广泛的兼容性,几乎所有的编程语言都有支持解析和生成 JSON 数据的库。
    JSONB 格式是 Fastjson2 特有的,虽然它可以转换为 JSON 格式以便进行诊断和分析,但它不是所有环境中的标准格式。
  4. 应用场景:
    JSON 格式适用于需要人类参与的场景,如 API 响应、配置文件等,以及那些不需要过分关注性能的场景。
    JSONB 格式适用于性能敏感的应用,如高性能 RPC 调用、大量数据的传输和存储等。
  5. 支持和生态:
    JSON 格式由于其简单和通用,有着丰富的工具和库支持,以及广泛的社区和生态系统。
    JSONB 格式作为 Fastjson2 的一部分,虽然有阿里巴巴的支持,但相对来说,它的生态系统和社区可能不如 JSON 格式成熟.

这篇关于fastjson2 简单使用案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897144

相关文章

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

C++中detach的作用、使用场景及注意事项

《C++中detach的作用、使用场景及注意事项》关于C++中的detach,它主要涉及多线程编程中的线程管理,理解detach的作用、使用场景以及注意事项,对于写出高效、安全的多线程程序至关重要,下... 目录一、什么是join()?它的作用是什么?类比一下:二、join()的作用总结三、join()怎么

mybatis中resultMap的association及collectio的使用详解

《mybatis中resultMap的association及collectio的使用详解》MyBatis的resultMap定义数据库结果到Java对象的映射规则,包含id、type等属性,子元素需... 目录1.reusltmap的说明2.association的使用3.collection的使用4.总

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

Java中使用 @Builder 注解的简单示例

《Java中使用@Builder注解的简单示例》@Builder简化构建但存在复杂性,需配合其他注解,导致可变性、抽象类型处理难题,链式编程非最佳实践,适合长期对象,避免与@Data混用,改用@G... 目录一、案例二、不足之处大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

使用Go实现文件复制的完整流程

《使用Go实现文件复制的完整流程》本案例将实现一个实用的文件操作工具:将一个文件的内容完整复制到另一个文件中,这是文件处理中的常见任务,比如配置文件备份、日志迁移、用户上传文件转存等,文中通过代码示例... 目录案例说明涉及China编程知识点示例代码代码解析示例运行练习扩展小结案例说明我们将通过标准库 os