跳到主要内容

2. JSON 语法 (JSON Grammar)

JSON text 是 tokens 的序列. token 集合包括六个 structural characters, strings, numbers 和三个 literal names.

JSON text 是 serialized value. 注意, JSON 早期某些规范将 JSON text 限制为 object 或 array. 在需要 JSON text 的位置只生成 objects 或 arrays 的实现将具备互操作性, 因为所有实现都会接受这些文本作为符合要求的 JSON texts.

JSON-text = ws value ws

以下是六个 structural characters:

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

允许在六个 structural characters 中任何一个的前后出现 insignificant whitespace.

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