当前位置: 首页 > news >正文

Java课题笔记~ Fastjson 概述

3.3 JSON串和Java对象的相互转换

学习完 json 后,接下来聊聊 json 的作用。

以后我们会以 json 格式的数据进行前后端交互。前端发送请求时,如果是复杂的数据就会以 json 提交给后端;而后端如果需要响应一些复杂的数据时,也需要以 json 格式将数据响应回给浏览器。

在后端我们就需要重点学习以下两部分操作:

  • 请求数据:JSON字符串转为Java对象

  • 响应数据:Java对象转为JSON字符串

接下来给大家介绍一套 API,可以实现上面两部分操作。这套 API 就是 Fastjson

3.3.1 Fastjson 概述

Fastjson 是阿里巴巴提供的一个Java语言编写的高性能功能完善的 JSON 库,是目前Java语言中最快的 JSON 库,可以实现 Java 对象和 JSON 字符串的相互转换。

3.3.2 Fastjson 使用

Fastjson 使用也是比较简单的,分为以下三步完成

1、导入坐标

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

2、Java对象转JSON

String jsonStr = JSON.toJSONString(obj);

将 Java 对象转换为 JSON 串,只需要使用 Fastjson 提供的 JSON 类中的 toJSONString() 静态方法即可。

3、JSON字符串转Java对象

User user = JSON.parseObject(jsonStr, User.class);

将 json 转换为 Java 对象,只需要使用 Fastjson 提供的 JSON 类中的 parseObject() 静态方法即可。

3.3.3 代码演示

  • 引入坐标

  • 创建一个类,专门用来测试 Java 对象和 JSON 串的相互转换,代码如下:

public class FastJsonDemo {public static void main(String[] args) {//1. 将Java对象转为JSON字符串User user = new User();user.setId(1);user.setUsername("zhangsan");user.setPassword("123");String jsonString = JSON.toJSONString(user);System.out.println(jsonString);//{"id":1,"password":"123","username":"zhangsan"}//2. 将JSON字符串转为Java对象User u = JSON.parseObject("{\"id\":1,\"password\":\"123\",\"username\":\"zhangsan\"}", User.class);System.out.println(u);}
}

http://www.lryc.cn/news/133458.html

相关文章:

  • Arduino 入门学习笔记11 读写内置EEPROM
  • 【Nginx】安装make后遇到/bin/sh: 第 0 行:cd: ../pcre-8.38: 没有那个文件或目录
  • 在Windows Server 2008上启用自动文件夹备份
  • 数据结构—线性表的查找
  • EndNote(一)【界面+功能介绍】
  • JWT令牌验证
  • 【微信小程序】下拉刷新功能实现
  • 三角函数与圆,角度和弧度 (草稿,建设中)
  • AIGC 施展“物理魔法”,3D视觉突破“精度极限”
  • redis 哨兵模式
  • java八股文面试[java基础]——String StringBuilder StringBuffer
  • [oneAPI] 基于BERT预训练模型的命名体识别任务
  • SSL证书如何使用?SSL保障通信安全
  • postgresql 的递归查询
  • Go语言进阶:函数、指针、错误处理
  • 最强自动化测试框架Playwright(30)-JS句柄
  • Ctfshow web入门 命令执行RCE篇 web29-web77 与 web118-web124 详细题解 全
  • 【C++ STL之map,set,pair详解】
  • Python LEGB规则解析与应用
  • 气象监测站:用科技感知气象变化
  • Linux debian12解压和压缩.rar文件教程
  • 探析国际大文件传输的花费与降低开销的小妙招
  • Linux中shell脚本——for、while循环及脚本练习
  • 【数字实验室】时钟切换
  • 线性代数的学习和整理7:各种特殊效果矩阵特例(草稿-----未完成)
  • springBoot 配置文件 spring.mvc.throw-exception-if-no-handler-found 参数的作用
  • linux部署kafka3.5.1(单机)
  • css 实现svg动态图标效果
  • 软件测试项目实战,电商业务功能测试点汇总(全覆盖)
  • LeetCode[274]H指数