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

JSON 简介

JSON是什么?(了解)

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于Web应用程序之间的数据传输。

JSON格式是一种文本格式,用于描述数据的结构和内容。它由两种基本元素组成:键值对和数组。键值对是一个键和一个值之间的映射关系,用于描述对象的属性和值。数组是一个有序列表,用于描述对象的多个值。

JSON的结构组成是什么?(掌握)

键值对

键值对由一个键和一个值之间的映射关系组成。键和值之间用冒号(:)分隔,每个键值对之间用逗号(,)分隔。键必须是一个字符串,值可以是一个字符串、数字、布尔值、对象或数组。

数组

数组是一个有序列表,由一组值组成。每个值可以是一个字符串、数字、布尔值、对象或数组。值之间用逗号(,)分隔。

JSON格式主要用于什么地方?(了解)

  • 在Web应用程序之间传输数据;
  • 用于存储和读取数据;
  • 用于API数据交换;
  • 用于配置文件格式。

JSON字符串和对象的互换如何进行?(掌握)

引入依赖包,会调用JSON的一些方法

<!--JSON 使用需要-->
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.28</version>
</dependency><!--lombok 注解需要-->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version>
</dependency>

对象格式化为JSON字符串,调用 JSON.toJSONString(“对象”)
JSON字符串转化为对象,调用 JSON.parseObject(jsonString, 对象.class);

代码示例如下:

User对象类:

package com.json;import lombok.Data;@Data
public class User {private String name;private int age;private String address;@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", address='" + address + '\'' +'}';}
}

JsonTest类

package com.json;import com.alibaba.fastjson.JSON;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class JsonTest {public static void main(String[] args) {Map<String,String> map = new HashMap<>();map.put("name","Gump");map.put("age","18");
//        map.put("address","重庆");String jsonString = JSON.toJSONString(map);System.out.println(jsonString);//{"name":"Gump","age":"18"}//JSON字符串转对象时,默认填充为空的项,例如 address='null'User user = JSON.parseObject(jsonString, User.class);System.out.println(user);//User{name='Gump', age=18, address='null'}Map<String,String> map2 = new HashMap<>();map2.put("name","you");map2.put("age","17");map2.put("address","中国");List<Map<String,String>> list = new ArrayList<>();list.add(map);list.add(map2);jsonString = JSON.toJSONString(list);System.out.println(jsonString);//如果转换的对象是List 需要用 parseArray 方法,返回List<T>对象List<User> userList = JSON.parseArray(jsonString, User.class);System.out.println(userList);}
}

注意:
JSON字符串转对象时,默认填充为空的项,例如示例中的 address=‘null’

如果转换的对象是List 需要用 parseArray 方法,返回List对象

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

相关文章:

  • Impala4.x源码阅读笔记(三)——Impala如何管理Iceberg表元数据
  • Ubuntu2204配置samba
  • AVL树(超详解)
  • 禁止浏览器记住密码和自动填充 element-ui+vue
  • K8s实战-init容器
  • Vue3.2 自定义指令详解与实战
  • XV-3510CB振动陀螺仪传感器
  • 设计模式Java向
  • 图片素材管理软件Eagle for mac提高素材整理维度
  • Transformer各模块结构详解(附图)
  • Python遥感影像深度学习指南(2)-在 PyTorch 中创建自定义数据集和加载器
  • 韩版传奇 2 源码分析与 Unity 重制(三)客户端渲染管线
  • 深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第三节 栈与堆,值类型与引用类型
  • 分享好用的chatgpt
  • 【小白专用】C# 压缩文件 ICSharpCode.SharpZipLib.dll效果:
  • Protobuf 编码规则及c++使用详解
  • Kafka优异的性能是如何实现的?
  • (二)MaterializedMySQL具体实施步骤举例
  • 日志框架简介-Slf4j+Logback入门实践 | 京东云技术团队
  • c 语言, 随机数,一个不像随机数的随机数
  • Git三种方法从远程仓库拉取指定分支
  • 7.6分割回文串(LC131-M)
  • stata回归结果输出中,R方和F值到底是用来干嘛的?
  • Windows搭建RTMP视频流服务(Nginx服务器版)
  • IP地址SSL证书
  • 关于“Python”的核心知识点整理大全49
  • 爬虫学习(1)--requests模块的使用
  • 【Vue2 + ElementUI】el-table中校验表单
  • PgSQL技术内幕 - ereport ERROR跳转机制
  • 【验证概括 SV的数据类型_2023.12.18】