JSON 是 Web 开发中使用最广泛的数据交换格式,它独立于编程语言,能够被大多数编程语言使用。本节我们来详细介绍一下 JSON 中支持的数据类型。
JSON 中支持的数据类型可以分为简单数据类型和复杂数据类型两种,其中简单数据类型包括:string(字符串)、number(数字)、boolean(布尔值)和 null(空);复杂数据类型包括:Array(数组)和 Object(对象)。
JSON 中的字符串需要使用双引号定义(注意:不能使用单引号),字符串中可以包含零个或多个 Unicode 字符。另外,JSON 的字符串中也可以包含一些转义字符,例如:
示例代码如下:
- {
- "name":"城东书院",
- "url":"http://www.cdsy.xyz/",
- "title":"JSON 数据类型"
- }
JSON 中不区分整型和浮点型,只支持使用 IEEE-754 双精度浮点格式来定义数字。此外,JSON 中不能使用八进制和十六进制表示数字,但可以使用 e 或 E 来表示 10 的指数。
IEEE-754 表示二进制浮点数算术标准,是 20 世纪 80 年代以来使用最广泛的浮点数运算标准。
示例代码如下:
- {
- "number_1" : 210,
- "number_2" : -210,
- "number_3" : 21.05,
- "number_4" : 1.0E+2
- }
JSON 中的布尔值与 JavaScript、PHP、Java 等编程语言中相似,有两个值,分别为 true(真)和 false(假),如下例所示:
- {
- "message" : true,
- "pay_succeed" : false
- }
null(空)是 JSON 中的一个特殊值,表示没有任何值,当 JSON 中的某些键没有具体值时,就可以将其设置为 null,如下例所示:
- {
- "id" : 1,
- "visibility" : true,
- "popularity" : null
- }
JSON 中,对象由花括号{ }以及其中的若干键/值对组成,一个对象中可以包含零个或多个键/值对,每个键/值对之间需要使用逗号,分隔,如下例所示:
- {
- "author": {
- "name": "城东书院",
- "url": "http://www.cdsy.xyz/"
- }
- }
JSON 中,数组由方括号[ ]和其中的若干值组成,值可以是 JSON 中支持的任意类型,每个值之间使用逗号,进行分隔,如下例所示:
- {
- "course" : [
- "JSON 教程",
- "JavaScript 教程",
- "HTML 教程",
- {
- "website" : "城东书院",
- "url" : "http://www.cdsy.xyz"
- },
- [
- 3.14,
- true
- ],
- null
- ]
- }