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

SpringBoot前后端传递数据时常用的JSON格式数据是什么?【讲解JSON概念、语法、以及Java对象互转】

SpringBoot前后端传递数据时常用的JSON格式数据是什么?

    • JSON概念
    • JSON语法
    • JSON的两种结构:
    • JSON字符串和Java对象互转:
        • objectMapper.writeValueAsString(person);
        • objectMapper.readValue(jsonStr,Person.class);
      • 在SpringMVC框架中,前后端交互会自动转Json

JSON概念

JSON:JavaScript Object Notation 【JavaScript 对象表⽰法
JSON是⼀种轻量级的数据交互格式. 它基于 ECMAScript (欧洲计算机协会制定的js规范)的⼀个⼦集,采⽤完全独⽴于编程语⾔的⽂本格式来存储和表⽰数据。
简单来说:JSON就是⼀种数据格式, 有⾃⼰的格式和语法, 使⽤⽂本表⽰⼀个对象或数组的信息, 因此JSON本质是字符串. 主要负责在不同的语⾔中数据传递和交换.

JSON语法

  1. JSON语法格式:
    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输和存储。它使用键值对的方式来表示数据,具有以下语法规则:
  • 数据在键值对中,键和值之间使用冒号(:)分隔。
  • 键值对之间使用逗号(,)分隔。
  • 数据由花括号({})包围,表示对象。
  • 数据由方括号([])包围,表示数组。
  • 字符串使用双引号(“”)包围。
{"name": "John Doe","age": 30,"email": "johndoe@example.com","address": {"street": "123 Main Street","city": "Anytown","state": "CA","zip": "12345"},"hobbies": ["hiking", "reading", "cooking"]
}

JSON的两种结构:

在这里插入图片描述

JSON有两种常见的结构:对象(Object)和数组(Array)。

  • 对象是由键值对组成的无序集合,使用花括号({})表示。每个键值对之间使用逗号(,)分隔。
  • 数组是由值组成的有序集合,使用方括号([])表示。每个值之间使用逗号(,)分隔。

JSON字符串和Java对象互转:

objectMapper.writeValueAsString(person);
objectMapper.readValue(jsonStr,Person.class);

在Java中,你可以使用Jackson库来实现JSON字符串和Java对象之间的互转。以下是一个简单的示例代码:

public class JSONUtils {private static ObjectMapper objectMapper = new ObjectMapper();public static void main(String[] args) throws JsonProcessingException {Person person = new Person();person.setId(5);person.setName("zhangsan");person.setPassword("123456");//对象转为JSON字符串String jsonStr = objectMapper.writeValueAsString(person);System.out.println("JSON字符串为:"+jsonStr);//JSON字符串转为对象Person p = objectMapper.readValue(jsonStr,Person.class);System.out.println("转换的对象id:"+p.getId()+",name:"+p.getName()+",passwo}
}

在SpringMVC框架中,前后端交互会自动转Json

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

相关文章:

  • mysql学习——SQL中的DQL和DCL
  • windows系统上nginx搭建文件共享
  • 星闪指向遥控,做家电交互的破壁人
  • SpringBoot使用AutoConfigure实现依赖库自动导入配置
  • QT中利用动画弄一个侧边栏窗口,以及贴条效果
  • win10免安装配置MySQL8.4.0
  • VS Code安装及环境配置(超详细)
  • shell脚本通过解析日志使用串口开关屏知识点整理
  • 速盾:视频cdn和网站cdn的相同点与不同点
  • 37.自定义协议
  • 【React Native】measureInWindow在安卓上无法正确获取View在屏幕上的布局信息
  • C++ 教程 - 04 类的使用
  • excel按模板文件导出多个文件并压缩为ZIP格式返回前端
  • 自动驾驶仿真测试用例表格示例 ACC ELK FCW
  • 数组 (java)
  • 时序预测 | Matlab基于Transformer多变量时间序列多步预测
  • suuk-s.php.jpg-python 库劫持
  • python3GUI--ktv点歌软件By:PyQt5(附下载地址)
  • opencascade AIS_InteractiveContext源码学习2
  • scale()函数详解
  • 计算机基础学习有多重要?学哪些?如何学?
  • Oracle day9
  • Race Condition竞争条件
  • docker 删除本地镜像释放磁盘空间
  • JVM中的垃圾回收器
  • 记录一些可用的AI工具网站
  • vue3页面传参
  • QNX OS微内核系统
  • ViT:5 Knowledge Distillation
  • 2024头歌数据库期末综合(部分题)