跳到主要内容

2. JSON Grammar (JSON语法)

JSON 文本 (JSON text) 是一个令牌 (token) 序列. 令牌集合包括六个结构字符 (structural character), 字符串, 数字和三个字面量名称 (literal name).

JSON 文本是一个序列化的值 (value). 注意, JSON 的某些早期规范将 JSON 文本限制为对象或数组. 在需要 JSON 文本的地方, 只生成对象或数组的实现具有互操作性, 因为所有实现都会接受它们作为符合规范的 JSON 文本.

JSON-text = ws value ws

以下是六个 structural character:

begin-array     = ws %x5B ws  ; [ left square bracket

begin-object = ws %x7B ws ; { left curly bracket

end-array = ws %x5D ws ; ] right square bracket

end-object = ws %x7D ws ; } right curly bracket

name-separator = ws %x3A ws ; : colon

value-separator = ws %x2C ws ; , comma

六个结构字符中任意一个的前后都允许出现无意义的空白 (whitespace).

ws = *(
%x20 / ; Space
%x09 / ; Horizontal tab
%x0A / ; Line feed or New line
%x0D ) ; Carriage return