一、简介
JSON 是一种轻量级的数据交换格式,它基于 ECMAScript (European Computer Manufacturers Association, 欧洲计算机协会制定的 js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
- 全称JavaScript Object Notation,中文含义为“JavaScript 对象表示法/JS对象简谱”。
- JSON是一种语法,不是一种编程语言,用来序列化对象、数组、数值、字符串布尔值和 null
- 它基于 JavaScript 语法,但与之不同:JavaScript 不是 JSON,JSON 也不是 JavaScript。
二、特点
JSON 的以下特性使它成为理想的数据交换语言:
- 轻量级的文本数据交换格式
- 自我描述性,更易理解
- 完全独立于语言的文本格式
JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。
目前常见的动态编程语言(PHP,JSP,.NET)都支持JSON。
4.是存储和交换文本信息的一种语法,它与XML具有相同的特性,是一种数据存储格式,却比 XML 更小、更快、 更易于人编写和阅读、更易于生成和解析。
- 类似于 XML 的特性:JSON 纯文本、具有“自我描述性”(人类可读)、 具有层级结构(值中存在值)、可通过 JavaScript 进行解析、数据可使用 AJAX 进行传输
- 相比 XML 的不同之处:没有结束标签、更短、读写的速度更快、能够使用内建的 JavaScript eval() 方法进行解析、使用数组、不使用保留字
三、JSON语法
在 JavaScript 语言中,一切皆对象。任何支持的类型,如字符串、数值、对象、数组等,都可以通过 JSON 来表示。
JSON 语法是 JavaScript 对象表示法的子集:
- 方括号保存数组,数组可以包含多个对象
- 花括号保存对象,对象可以包含多个键/值对
- 键/值对保存数据,可以嵌套,数据由逗号分隔
JSON不是JavaScript语句,对象的末尾没有分号,对象和数组的最后一个成员后面,也不能加逗号。
(一)JSON键值对
键必须是字符串,值可以是字符串(string)、数值(number) 、对象(object)、数组(array)、true、false、 null
//定义 键名:值。
"github": "https://github.com/leiqikui"
//等价于 JavaScript 语句:
github = "https://github.com/leiqikui"
(二)JSON字符串
- 和C、Java的字符串非常相似,是由双引号包围的任意数量Unicode字符的集合
- 不能使用单引号,一个字符(character)就是一个单独的字符串(character string)