一、json简介
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但已经成为一种独立的格式,广泛用于各种编程语言中,用于数据的表示和交换。
二、json语法
JSON 语法是 JavaScript 语法的子集。
2.1 JSON 的基本语法
- 数据在名称/值对中
- 数据由逗号 , 分隔
- 使用斜杆 ** 来转义字符
- 大括号 {} 保存对象
- 中括号 [] 保存数组,数组可以包含多个对象
2.2 JSON 的两种结构
2.1.1 对象(Object)
一组键值对的集合,用大括号 {}
包围。键(key)必须是字符串,值(value)可以是字符串、数字、布尔值、数组、对象或null。
2.1.2 数组(Array)
一组有序的值的集合,用方括号 []
包围。数组中的元素可以是任意类型的数据。
中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。
值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array),它们是可以嵌套的。
2.3 JSON 名称/值对
JSON 数据的书写格式是:
key : value
键(在双引号中),后面写一个冒号,然后是值。
"name" : "sxk"
这很容易理解,等价于这条 JavaScript 语句:
name = "sxk"
2.4 JSON 值
- 字符串(String):用双引号
""
包围的文本数据。单引号''
不是有效的JSON字符串。【⚠️】 - 数字(Number):可以是整数或浮点数,可以使用科学计数法表示。
- 布尔值(Boolean):只有两个值:
true
和false
,注意大小写。 - 数组(Array):用方括号
[]
包围的有序值集合。 - 对象(Object):用大括号
{}
包围的键值对集合。 - null:表示空值或不存在的值。
语法要点:
语法要点
- 键必须是字符串:即使键看起来像是数字或布尔值,也必须用双引号包围。【⚠️】
- 值可以是任意类型:包括字符串、数字、布尔值、数组、对象或null。
- 逗号分隔:对象中的键值对或数组中的元素之间用逗号
,
分隔。 - 不允许注释:JSON格式不支持注释,这与JavaScript不同。