系列
JSON简明教程
JSON数据格式语法
2020-02-06大约7分钟
JSON的语法很简单,因为JSON能够表达的数据类型只有五种:
- 字符串(String)
- 数值(Number)
- 布尔值(Boolean)
- 对象(Object)
- 数组(Array)
那我们接下来看看每种数据类型的具体说明:
1. 字符串(String)
把一个或多个字符用英文的双引号""
来表示。除了少数特殊字符"
、\
、/
和一些控制符(\b
、\f
、\n
、\r
、\t
)需要编码外,其他 Unicode 字符可以直接输出。比如例子:
"abc"
"This is an \"Apple\""
"123"
注意的是:
- 特殊字符需要用
\
进行转义; - 数字如果加了双引号,也是个字符串;
- 一定要用英文的双引号
" "
,不能用中文的双引号“ ”
。
2. 数值(Number)
可以是整型或浮点数,跟大多数编程语言里的写法是一样的。比如:
12345
-3.9e10
3. 布尔值(Boolean)
Boolean类型表示为true
或false
。此外,JavaScript 中的null
被表示为null
,注意true
、false
和null
都没有双引号,否则将被视为一个 String 。例子:
true
false
null
4. 对象(Object)
Object在JSON 中是用{}
包含一系列无序的 Key-Value 键值对表示的,如果有多个键值对,用英文逗号,
分开。比如:
{
"name": "Joy",
"age": 20,
"married": false
}
需要注意:
- 键,即对象的属性名,必须用双引号
""
来表示; - 多个键值对,分隔符也是英文逗号
,
- 最后一个键值对,后面不能有逗号
5. 数组(Array)
使用[]
包含所有元素,每个元素用逗号,
分隔,元素可以是任意的值。比如:
["abc", 123, true, null, {"name": "Joy"}]
上面的例子都是比较简单的例子,再看一个较为复杂的例子:
{
"company": "www.lema.fun",
"address": {
"province": "Guangdong",
"city": "Shenzhen"
},
"age": 5,
"employees":[
{"name":"Shyam", "email":"shyamjaiswal@gmail.com"},
{"name":"Bob", "email":"bob32@gmail.com"},
{"name":"Jai", "email":"jai87@gmail.com"}
]
}
数组可以包含任何对象或值,而对象的属性的值也可以对象或数组,所以组合起来,就非常灵活了。
JSON里是没有日期类型表示法的,所以在JSON里可以转成用字符串或数字来表示。比如:"2020-02-06T03:49:26.240Z"或1580960985927,然后程序使用的时候,可以再进一步把这个值转成程序内部的日期类型。