【 JSON 浅谈 — 2.0 】 语法规则

JSON 的语法规则十分简单,无论用何种方法总结都只有数条而已,它参考了 C 语言家族的一些习惯,学习起来并不会感到陌生。

format

JSON 第 1 章】里提到了 JSON 的五点语法:

  • 数组(Array)用方括号(“[]”)表示。
  • 对象(Object)用大括号(”{}”)表示。
  • 名称/值对(name/value)之间用冒号(”:”)隔开。
  • 名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
  • 并列的数据之间用逗号(“,”)分隔

基于以上的语法规则,接下来举一些例子来详细讲解如何使用、以及使用中存在的问题。

1. 对象(Object)

对象用大括号(“{}”)括起来,大括号里是一系列的“名称/值对”,其概念图如下:

object

例如,以下对象是合法的:

两个并列的数据之间用逗号(“,”)隔开,注意两点:

  • 使用英文的逗号(“,”),不要用中文的逗号(“,”)
  • 最后一个“名称/值对“之后不要加逗号

2. 数组(Array)

数组表示一系列有序的值,用方括号(“[]”)包围起来,并列的值之间用逗号分隔,概念图如下。

array

例如,以下的数组是合法的:

3. 名称/值对(Name/Value)

名称(Name)是一个字符串,要用双引号括起来,不能用单引号,也不能没有引号,这一点与 JavaScript 不同。

值的类型只有六种:字符串(string)、数值(number)、对象(object)、数组(array)、true、false、null。不能有这之外的类型,例如 undefined、函数等。其概念图如下。

value

字符串(string)的规则如下:

  • 英文双引号括起来,不能用单引号,也不能没有。
  • 字符串中不能单独出现双引号(”) 和右斜杠(“\”)。
  • 如果要打双引号或右斜杠,需要使用“右斜杠+字符”的形式,例如 \” 和 \\,其它的转意字符也是如此

其概念图如下所示。

string

请看以下合法的和不合法的字符串例子。

数值的概念图如下。

number

请看以下的例子。

4. 验证 JSON 格式

验证自己的 JSON 格式是否正确,可以在:http://json.cn/ 验证。如有错误会有提示。

参考资料

[1] JSON 对象,http://javascript.ruanyifeng.com/stdlib/json.html

[2] JSON 介绍,http://www.json.org.cn/

 

文档信息