JSON语法是什么意思?一篇让你秒懂的文章
提到“JSON语法”,很多人可能觉得这是一个“高大上”的技术术语,但其实它离我们很近——如果你用过手机App、浏览过网页,或者开发过小程序,就已经和JSON打过交道了。JSON语法就是一套“规则”,用来定义如何用文本格式来表示和存储数据,它就像数据的“通用语言”,能让不同的程序、系统之间轻松“读懂”彼此的信息。
JSON是什么?先搞清楚它的“身份”
JSON的全称是“JavaScript Object Notation”(JavaScript对象表示法),最初是为了解决服务器和浏览器之间数据传输的问题而设计的,虽然名字里有“JavaScript”,但它早就“超越”了JavaScript——如今几乎所有的编程语言(如Python、Java、C++、Go等)都支持JSON,因为它简单、易读、易解析,成了数据交换的“事实标准”。
JSON语法:数据的“语法说明书”
如果把数据比作一本书,JSON语法就是这本书的“语法说明书”,规定了哪些字符可以用、数据怎么排列、不同类型的数据怎么区分,核心规则其实不多,下面我们用“人话”拆解清楚。
数据的“容器”:用大括号 和方括号 [] 包裹
JSON数据总是被两种“容器”包裹:
-
对象(Object):用 表示,存储“键值对”(key-value pair),适合描述“有属性”的数据(比如一个人的信息、一本书的详情)。
格式:{ "键1": "值1", "键2": "值2", ... }
示例:{ "name": "张三", "age": 18, "isStudent": true }
这里的name、age、isStudent是“键”(相当于数据的“名字”),"张三"、18、true是对应的“值”(就是具体的数据)。 -
数组(Array):用
[]表示,存储“值的列表”,适合描述“多个同类数据”(比如一个班级的学生列表、一个商品分类)。
格式:[ 值1, 值2, 值3, ... ]
示例:[ "苹果", "香蕉", "橙子" ]
数组里的值可以是简单数据(如字符串、数字),也可以是复杂的数据(比如另一个对象或数组)。
数据的类型:JSON支持哪些“值”?
JSON里的“值”可以是6种基本类型,也可以是更复杂的组合(对象嵌套数组、数组嵌套对象等):
- 字符串(String):用双引号 包裹,
"北京"、"hello"。注意:JSON里不能用单引号! - 数字(Number):整数或小数,
18、14,不支持科学计数法(如1e3)。 - 布尔值(Boolean):只有两个值——
true(真)和false(假),全部小写,不能写成True或False。 - 空值(Null):表示“没有值”,用
null(小写),相当于编程语言里的None或nil。 - 对象(Object):前面说的 键值对,
{ "city": "上海", "area": "浦东" }。 - 数组(Array):前面说的
[]列表,[ "数学", "语文", "英语" ]。
标点符号:逗号和冒号的“分工”
JSON里的标点符号不能乱用,它们是“分隔符”,负责让数据结构清晰:
- 冒号 :分隔“键”和“值”,表示“这个键对应这个值”。
"name": "李四",name是键,"李四"是值。 - 逗号 :分隔“同级别的键或值”,比如对象里的多个键值对之间用逗号隔开:
{ "name": "李四", "age": 20, "gender": "男" };数组里的多个值之间也用逗号隔开:[ 1, 2, 3, 4 ]。
注意:最后一个元素后面不能加逗号! 比如数组最后一个值是4,后面就不能写[ 1, 2, 3, 4, ],会报错。
嵌套:数据可以“套娃”
JSON最强大的地方是支持“嵌套”——对象里可以嵌套对象或数组,数组里也可以嵌套对象或数组,这样就能表示复杂的数据结构,比如描述一个“学生班级”:
{
"className": "高三(1)班",
"students": [
{ "name": "王五", "age": 18, "scores": { "math": 95, "english": 88 } },
{ "name": "赵六", "age": 17, "scores": { "math": 92, "english": 90 } }
],
"classTeacher": "陈老师"
}
这里:
- 最外层是对象(班级信息),包含
className(班级名)、students(学生列表)、classTeacher(班主任)。 students是数组,里面有两个学生对象。- 每个学生对象里又嵌套了
scores对象(各科成绩)。
JSON语法的“铁律”:这些错误别犯!
写JSON时,如果违反语法规则,程序就无法解析,常见的“坑”有:
- 键必须用双引号:
{ name: "张三" }是错的,必须写成{ "name": "张三" }。 - 不能用单引号:
{ 'name': "张三" }是错的,JSON里字符串只能用双引号。 - 最后一个元素后面不能有逗号:
[ "苹果", "香蕉", ]是错的,要写成[ "苹果", "香蕉" ]。 - 值只能是JSON支持的数据类型:比如不能写函数(
{ "say": function() { alert("hi") } }),因为JSON只存数据,不存逻辑。
JSON语法为什么重要?它有什么用?
JSON语法看似简单,却是现代互联网的“数据基石”,主要用在:
- 前后端数据交互:服务器把数据用JSON格式传给浏览器(比如App里的用户信息、商品列表),浏览器解析后显示给用户;用户提交数据(比如注册信息),浏览器也用JSON格式传给服务器。
- 配置文件:很多软件的配置文件用JSON写(比如VS Code的设置、小程序的配置文件),因为它易读易修改。
- 数据存储:NoSQL数据库(如MongoDB)直接用JSON格式存储数据,灵活且高效。
JSON语法,让数据整齐排队”的规则
简单说,JSON语法就是一套用文本表示数据的规则:用存键值对(对象),用[]存列表(数组),用分隔键和值,用分隔同级别元素,支持字符串、数字、布尔值、空值等基本类型,还能自由嵌套,它,你就了不同程序之间“对话”的密码——无论你是开发者,还是只是好奇“手机App里的数据怎么来的”,了解JSON语法都能帮你更好地理解数字世界。



还没有评论,来说两句吧...