一文看懂json(chatgpt4o辅助编写)

一、json数据格式

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,其本质上是基于键值对的结构。JSON 的数据格式有几种主要的表示方式,包括:

1. 对象(Object)

JSON 对象是由花括号 {} 包裹的一组键值对,键是字符串并且必须是双引号包含的字符串(不要和python字典中键是不可变类型混淆),值可以是字符串、数字、布尔值、数组、对象等。

格式:

{
  "name": "Alice",
  "age": 30,
  "isStudent": false
}

2. 数组(Array)

JSON 数组是一个有序的值列表,使用方括号 [] 包裹。数组中的元素可以是任意类型,包括对象、字符串、数字等。

格式:

[
  "apple",
  "banana",
  "cherry"
]

3. 字符串(String)

字符串是由双引号包裹的 Unicode 字符串,通常表示文本数据。

格式:

"Hello, World!"

4. 数字(Number)

数字可以是整数或浮点数,不带引号。

格式:

42

3.14159

5. 布尔值(Boolean)

布尔值只有两个可能值:truefalse

格式:

true

6. 空值(Null)

null 是表示空或无值的 JSON 数据类型。

格式:

null

总结

JSON 数据的主要格式有以下几种:

  • 对象(Object): 使用 {} 包裹的键值对集合。
  • 数组(Array): 使用 [] 包裹的有序值列表。
  • 字符串(String): 使用双引号包裹的文本。
  • 数字(Number): 整数或浮点数。
  • 布尔值(Boolean): truefalse
  • 空值(Null): null 表示空。

这些元素可以相互嵌套,形成更复杂的 JSON 结构。

二、json数组必须是同一类型的值?

在传统编程语言中(例如 Java、C 等)还有golang,数组通常要求所有元素都必须是相同的数据类型,这种类型的数组称为“强类型数组”。例如,一个整型数组只能包含整数值。

然而,JSON 的数组并没有这个限制。JSON 是一种数据交换格式,其设计目标是灵活和轻量化,因此允许数组中的元素是不同的数据类型。这种特性使得 JSON 数组可以包含混合类型的数据,称为“弱类型数组”。

JSON 数组的定义
在 JSON 中,数组是一个有序的值集合,使用方括号 [] 包围,并且数组中的每个元素可以是任意合法的 JSON 数据类型(如数字、字符串、对象、布尔值、null,甚至其他数组)。

例子:

[
    42,            // 数字
    "Hello",       // 字符串
    true,          // 布尔值
    null,          // 空值
    {"key": "value"},  // 对象
    [1, 2, 3]      // 数组
]

在这里插入图片描述

在这个例子中,JSON 数组包含了多种类型的元素(数字、字符串、布尔值、空值、对象、数组),这在 JSON 中是完全合法的。

总结
虽然传统数组定义要求同一类型的值,但 JSON 数组是灵活的,可以包含不同类型的数据。这种设计使得 JSON 更加适合表示复杂的数据结构和进行数据交换。

三、可以使用单引号?

JSON 键和值中的字符串必须使用双引号

['apple', 'banana', 'cherry']

在这里插入图片描述

四、json中不一定必须存对象

思维有点定式了,因为见到的json对象都是{}格式,但是实际json格式也可以存储1.”1“等值
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值