JSON 的语法与 JavaScript 中的对象很像,在 JSON 中主要使用以下两种方式来表示数据:
下面展示了一个简单的 JSON 数据:
{
"Name":"城东书院",
"Url":"http://www.cdsy.xyz/",
"Tutorial":"JSON",
"Article":[
"JSON 是什么?",
"JSONP 是什么?",
"JSON 语法规则"
]
}
注意:所有 JSON 数据需要包裹在一个花括号中,类似于 JavaScript 中的对象。
JSON 数据是以键/值对(名称/值)的形式书写的,键表示数据的名称,需要以字符串的形式定义(在双引号中定义),后面紧跟一个冒号,最后是值,如下例所示:
类似于 JavaScript 对象中的:
JSON 中的值可以是以下数据类型:
另外,在 JSON 中,不同的键/值对之间需要使用逗号进行分隔,如下例所示:
{
"number":123,
"float":3.14,
"string":"城东书院",
"bool":true,
"array":[
"employees",
{"name":"peter", "age": 18},
{"name":"Anna", "age": 16}
],
"object":{
"name":"城东书院",
"url":"http://www.cdsy.xyz/"
}
}
在使用 JSON 时,有以下几点需要注意:
粗略的看起来,您可能觉得 JSON 就是一个 JavaScript 的对象,但其实不是这样的,JSON 与 JavaScript 对象之间还是有区别的。
首先,JSON 是一种数据交换格式,可以跨语言、跨平台使用,它只是与 JavaScript 有些渊源,并不是 JavaScript 的一部分。
就语法而言,JSON 与 JavaScript 最主要的区别就是,JSON 中每个键都必须是一个字符串,而 JavaScript 对象则没有这个限制,如下所示:
另外,在 JavaScript 对象中,您既可以使用双引号也可以使用单引号,但在 JSON 中只能使用双引号。还有就是 JSON 中没有日期类型,也不能定义注释,所以您只能通过日期的字符串(例如:1970-01-01)或者时间戳(例如:1632366361)来表示日期。