2.2 Message Syntax
This section contains common definitions used by this protocol specification. The syntax of the definitions uses JavaScript Object Notation (JSON), as specified in [RFC4627], and the common JSON in ABNF, as specified by [RFC5234].
-
json-begin-array = json-whitespace %x5B json-whitespace ; [ left square bracket json-begin-object = json-whitespace %x7B json-whitespace ; { left curly bracket json-end-array = json-whitespace %x5D json-whitespace ; ] right square bracket json-end-object = json-whitespace %x7D json-whitespace ; } right curly bracket json-name-separator = json-whitespace %x3A json-whitespace ; : colon json-value-separator = json-whitespace %x2C json-whitespace ; , comma json-whitespace = *( %x20 / ; Space %x09 / ; Horizontal tab %x0A / ; Line feed or New line %x0D ; Carriage return ) json-value = json-false / json-null / json-true / json-object / json-array / json-number / json-string json-false = %x66.61.6c.73.65 ; false json-null = %x6e.75.6c.6c ; null json-true = %x74.72.75.65 ; true json-bool = json-false / json-true json-object = json-begin-object [json-member *( json-value-separator json-member ) ] json-end-object json-member = json-string json-name-separator json-value json-number = [ json-minus ] json-int [ json-frac ] [ json-exp ] json-decimal-point = %x2E ; . json-digit1-9 = %x31-39 ; 1-9 json-e = %x65 / %x45 ; e E json-exp = json-e [ json-minus / json-plus ] 1*DIGIT json-frac = json-decimal-point 1*DIGIT json-int = json-zero / ( json-digit1-9 *DIGIT ) json-minus = %x2D ; - json-plus = %x2B ; + json-zero = %x30 ; 0 json-array = json-begin-array [ json-value *( json-value-separator json-value ) ] json-end-array json-string = json-quotation-mark *json-char json-quotation-mark json-char = json-unescaped / json-escape ( %x22 / ; " quotation mark U+0022 %x5C / ; \ reverse solidus U+005C %x2F / ; / solidus U+002F %x62 / ; b backspace U+0008 %x66 / ; f form feed U+000C %x6E / ; n line feed U+000A %x72 / ; r carriage return U+000D %x74 / ; t tab U+0009 %x75 4HEXDIG ) ; uXXXX U+XXXX json-escape = %x5C ; \ json-quotation-mark = %x22 ; " json-unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
The following table defines the common JSON types used in this document.
Common Type |
Value |
---|---|
JsonAnyValue |
|
JsonStringValue |
|
JsonArrayOfAnyType |
|
JsonArrayOfString |
|
JsonArrayOfInt |
|
JsonArrayOfArrayOfAnyType |
|
JsonArrayOfArrayOfString |
|
JsonArrayOfArrayOfArrayOfString |
|