source: abnf/json.abnf @ 2

Last change on this file since 2 was 2, checked in by jhildebr@…, 6 years ago

Fix some nits

File size: 2.3 KB
Line 
1      JSON-text = object / array
2      begin-array     = ws %x5B ws  ; [ left square bracket
3      begin-object    = ws %x7B ws  ; { left curly bracket
4      end-array       = ws %x5D ws  ; ] right square bracket
5      end-object      = ws %x7D ws  ; } right curly bracket
6      name-separator  = ws %x3A ws  ; : colon
7      value-separator = ws %x2C ws  ; , comma
8      ws = *(
9           %x20 /              ; Space
10           %x09 /              ; Horizontal tab
11           %x0A /              ; Line feed or New line
12           %x0D                ; Carriage return
13           )
14      value = false / null / true / object / array / number / string
15      false = %x66.61.6c.73.65   ; false
16      null  = %x6e.75.6c.6c      ; null
17      true  = %x74.72.75.65      ; true
18      object = begin-object [ member *( value-separator member ) ]
19               end-object
20      member = string name-separator value
21      array = begin-array [ value *( value-separator value ) ] end-array
22      number = [ minus ] int [ frac ] [ exp ]
23      decimal-point = %x2E       ; .
24      digit1-9 = %x31-39         ; 1-9
25      e = %x65 / %x45            ; e E
26      exp = e [ minus / plus ] 1*DIGIT
27      frac = decimal-point 1*DIGIT
28      int = zero / ( digit1-9 *DIGIT )
29      minus = %x2D               ; -
30      plus = %x2B                ; +
31      zero = %x30                ; 0
32      string = quotation-mark *char quotation-mark
33      char = unescaped /
34          escape (
35              %x22 /          ; "    quotation mark  U+0022
36              %x5C /          ; \    reverse solidus U+005C
37              %x2F /          ; /    solidus         U+002F
38              %x62 /          ; b    backspace       U+0008
39              %x66 /          ; f    form feed       U+000C
40              %x6E /          ; n    line feed       U+000A
41              %x72 /          ; r    carriage return U+000D
42              %x74 /          ; t    tab             U+0009
43              %x75 4HEXDIG )  ; uXXXX                U+XXXX
44      escape = %x5C              ; \
45      quotation-mark = %x22      ; "
46      unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
47
48      HEXDIG = DIGIT / %x41-46 / %x61-66   ; 0-9, A-F, or a-f
49             ; HEXDIG equivalent to HEXDIG rule in [RFC5234]
50      DIGIT = %x30-39            ; 0-9
51            ; DIGIT equivalent to DIGIT rule in [RFC5234]
Note: See TracBrowser for help on using the repository browser.