2. JSON Grammar (JSON语法)
JSON文本是一个令牌 (Token) 序列。令牌集包括六个结构字符、字符串、数字和三个字面量名称。
JSON文本是一个序列化的值 (Serialized Value)。请注意,某些早期的JSON规范将JSON文本限制为对象或数组。在需要JSON文本的地方,只生成对象或数组的实现将是可互操作的,因为所有实现都会接受这些作为符合规范的JSON文本。
JSON-text = ws value ws
以下是六个结构字符 (Structural Characters):
begin-array = ws %x5B ws ; [ 左方括号
begin-object = ws %x7B ws ; { 左花括号
end-array = ws %x5D ws ; ] 右方括号
end-object = ws %x7D ws ; } 右花括号
name-separator = ws %x3A ws ; : 冒号
value-separator = ws %x2C ws ; , 逗号
在六个结构字符的前后允许使用无意义的空白 (Insignificant Whitespace)。
ws = *(
%x20 / ; 空格 (Space)
%x09 / ; 水平制表符 (Horizontal tab)
%x0A / ; 换行符 (Line feed or New line)
%x0D ) ; 回车符 (Carriage return)