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

JSON基础知识:Web开发中的数据交换格式

目录

一.什么是JSON?

 二.JSON的基本结构

1. 对象(Object) 

2.数组(Array)

三.JSON值的类型


一.什么是JSON?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有易于人类阅读和编写、易于机器解析和生成的特点。它通常用于客户端与服务器之间的数据传输,广泛应用于Web开发、配置文件、API通信等场景。


 二.JSON的基本结构

JSON的基本结构由两种数据类型组成:对象(Object)数组(Array)

1. 对象(Object) 

  • 由一组键值对表示。
  • 对象由花括号 "{ }" 包裹。
  • 每个键(key)都是一个字符串,后面跟着冒号 ":",然后是对应的值(value)
  • 键值对之间用逗号 " , " 分隔。

示例如下:

{
  "name": "Alice",
  "age": 25,
  "isStudent": true
}

//"name"、"age" 和 "isStudent" 是键(key)。
//"Alice"、25 和 true 是它们对应的值(value)。

2.数组(Array)

  • 表示一组有序的值(可以是不同类型,但为了理解开发者会尽量保持数组中数据类型的一致性)。
  • 数组由方括号 " [ ] " 包裹。
  • 值之间用逗号" ,"分隔,可以是任何有效的JSON值(字符串、数字、对象、数组等)。

示例如下:

[1, 2, 3, 4, 5]

三.JSON值的类型

1.字符串类型 (String) : 必须用双引号 " " 包裹。支持Unicode字符

"name":"张三"

2.数字(Number)支持整数和浮点数。没有引号,不能包含前导零。

"num":123 
"money":21.26

3.布尔值(Boolean):truefalse,表示逻辑真或逻辑假。

"flag1" : true
"flag2" : false

4.空值(Null):表示空值或没有值,用 null 表示。

"time" : null

5.对象(Object):如前所述,由一组键值对组成,键是字符串,值可以是任何合法的JSON值。

"student" : {"name": "Alice", "age": 25}

6.数组(Array):如前所述,由一组值组成,值可以是任何合法的JSON值。

"arr" : [1, 2, 3]
"fruit" : ["apple", "banana", "cherry"]

这里展示一个较为复杂的JSON格式,看看JSON对象和数组的嵌套

{
  "name": "张三",
  "age": 30,
  "isEmployed": true,
  "address": {
    "street": "成华大道,二仙桥",
    "city": "成都市"
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "123-456-7890"
    },
    {
      "type": "work",
      "number": "098-765-4321"
    }
  ],
  "children": [
    "张四",
    "张五"
  ]
}


http://www.kler.cn/a/470721.html

相关文章:

  • 分享3个国内使用正版GPT的网站【亲测有效!2025最新】
  • PySide6的样式表
  • gateway的路径匹配介绍
  • 少儿编程学习路径:分阶段成长与进阶指南
  • Leecode刷题C语言之按键变更的次数
  • 彻底学会Gradle插件版本和Gradle版本及对应关系
  • 【NLP自然语言处理】Transformer模型的几大核心优势与应用前景
  • 用 C++ 创建控制台计算器
  • Java Spring Boot监听事件和处理事件
  • 校园约拍微信小程序设计与实现ssm+论文源码调试讲解
  • Kafka 消费者
  • C++二十三种设计模式之桥接模式
  • 一文读懂51单片机的中断系统
  • 【React】如何高效使用条件渲染
  • 使用C++对SQLite3数据库进行增、删、改、查操作实例
  • 2024 华为开发者大会介绍(附大会PPT下载)
  • PyTorch 自动混合精度AMP Grad Scaler 源码解析:_unscale_grads_ 与 unscale_ 函数
  • 【C++数据结构——树】二叉树的性质(头歌实践教学平台习题)【合集】
  • Excel 技巧02 - 如何批量输入百分号 (★),如何输入百分号并指定小数位数,如何批量删除百分号,如何批量删除小数最后的0?
  • iOS - Tagged Pointer
  • 使用vue项目中,使用webpack模板和直接用vue.config来配置相关插件 区别是什么,具体有哪些提现呢
  • Oracle数据库如何找到 Top Hard Parsing SQL 语句?
  • 基于Django运维系统实现AWS Route 53管理
  • SDAE的介绍
  • 路由器的转发表
  • 【Python】论文长截图、页面分割、水印去除、整合PDF