value¶ value ws?Whitespace (Optional) [\n\r\t ]* annotation wsWhitespace [\n\r\t ]+ string string_raw string_base64 string_datetime number float_literal true[0x74, 0x72, 0x75, 0x65] false[0x66, 0x61, 0x6c, 0x73, 0x65] null[0x6e, 0x75, 0x6c, 0x6c] annotation ws?Whitespace (Optional) [\n\r\t ]* object array expression ws?Whitespace (Optional) [\n\r\t ]* annotation¶ annotation !0x21 ws?Whitespace (Optional) [\n\r\t ]* dotted_identifier <0x3c ws?Whitespace (Optional) [\n\r\t ]* annotation_inner >0x3e annotation_inner¶ annotation_inner ws?Whitespace (Optional) [\n\r\t ]* dotted_identifier string string_raw string_datetime number float_literal true[0x74, 0x72, 0x75, 0x65] false[0x66, 0x61, 0x6c, 0x73, 0x65] null[0x6e, 0x75, 0x6c, 0x6c] !0x21 *0x2a ?0x3f |0x7c &0x26 =0x3d ,0x2c <0x3c annotation_inner >0x3e (0x28 annotation_inner )0x29 ws?Whitespace (Optional) [\n\r\t ]* object¶ object {0x7b ws?Whitespace (Optional) [\n\r\t ]* ws?Whitespace (Optional) [\n\r\t ]* identifier_object_key .0x2e string number_object_key null[0x6e, 0x75, 0x6c, 0x6c] true[0x74, 0x72, 0x75, 0x65] false[0x66, 0x61, 0x6c, 0x73, 0x65] ws?Whitespace (Optional) [\n\r\t ]* :0x3a value ,0x2c line_break ,0x2c line_break ws?Whitespace (Optional) [\n\r\t ]* trailing separator }0x7d array¶ array [0x5b ws?Whitespace (Optional) [\n\r\t ]* value ,0x2c line_break ,0x2c line_break ws?Whitespace (Optional) [\n\r\t ]* trailing separator ]0x5d expression¶ expression (0x28 ws?Whitespace (Optional) [\n\r\t ]* expression_item )0x29 expression_item¶ expression_item ws?Whitespace (Optional) [\n\r\t ]* identifier string string_raw string_base64 string_datetime number_unsigned true[0x74, 0x72, 0x75, 0x65] false[0x66, 0x61, 0x6c, 0x73, 0x65] null[0x6e, 0x75, 0x6c, 0x6c] nan[0x6e, 0x61, 0x6e] inf[0x69, 0x6e, 0x66] expression_operator line_break ,0x2c :0x3a @0x40 [0x5b expression_item ws?Whitespace (Optional) [\n\r\t ]* ]0x5d {0x7b expression_item ws?Whitespace (Optional) [\n\r\t ]* }0x7d (0x28 expression_item ws?Whitespace (Optional) [\n\r\t ]* )0x29 ws?Whitespace (Optional) [\n\r\t ]* expression_operator¶ expression_operator |0x7c &0x26 !0x21 =0x3d +0x2b -0x2d *0x2a /0x2f \0x5c %0x25 ^0x5e .0x2e ?0x3f ~0x7e <0x3c >0x3e `0x60 ;0x3b dotted_identifier¶ dotted_identifier identifier ws?Whitespace (Optional) [\n\r\t ]* .0x2e ws?Whitespace (Optional) [\n\r\t ]* identifier¶ identifier a-z0x61-0x7a A-Z0x41-0x5a _0x5f $0x24 a-z0x61-0x7a A-Z0x41-0x5a 0-90x30-0x39 _0x5f $0x24 identifier_object_key¶ identifier_object_key a-z0x61-0x7a A-Z0x41-0x5a _0x5f $0x24 *0x2a a-z0x61-0x7a A-Z0x41-0x5a 0-90x30-0x39 _0x5f $0x24 *0x2a string¶ string "0x22 Any UTF8 sequence except " or \Any UTF8 sequence except 0x22 or 0x5c string_escape_sequence "0x22 '0x27 Any UTF8 sequence except ' or \Any UTF8 sequence except 0x27 or 0x5c string_escape_sequence '0x27 string_escape_sequence¶ string_escape_sequence \0x5c "0x22 double quote '0x27 single quote \0x5c backslash /0x2f forward slash b0x62 backspace f0x66 formfeed n0x6e line break r0x72 carriage return t0x74 horizontal tab x0x78 hex_digit exactly 2x one-byte character u0x75 hex_digit exactly 4x utf16-be codepoint U0x55 hex_digit exactly 8x utf32-be codepoint string_raw¶ string_raw r0x72 "0x22 heredoc (0x28 Any UTF8 sequenceAny UTF8 sequence )0x29 heredoc "0x22 '0x27 heredoc (0x28 Any UTF8 sequenceAny UTF8 sequence )0x29 heredoc '0x27 heredoc¶ heredoc a-z0x61-0x7a A-Z0x41-0x5a _0x5f a-z0x61-0x7a A-Z0x41-0x5a 0-90x30-0x39 _0x5f 1x to 14x (max 15 characters) string_base64¶ string_base64 b64"[0x62, 0x36, 0x34, 0x22] base64_digit "0x22 b64'[0x62, 0x36, 0x34, 0x27] base64_digit '0x27 b64"([0x62, 0x36, 0x34, 0x22, 0x28] ws?Whitespace (Optional) [\n\r\t ]* base64_digit ws?Whitespace (Optional) [\n\r\t ]* )"[0x29, 0x22] b64'([0x62, 0x36, 0x34, 0x27, 0x28] ws?Whitespace (Optional) [\n\r\t ]* base64_digit ws?Whitespace (Optional) [\n\r\t ]* )'[0x29, 0x27] Digit count must be a multiple of 4 string_datetime¶ string_datetime dt"[0x64, 0x74, 0x22] datetime_iso8601 "0x22 dt'[0x64, 0x74, 0x27] datetime_iso8601 '0x27 datetime_iso8601¶ datetime_iso8601 date T0x54 time timezone date¶ date +0x2b -0x2d 0-90x30-0x39 4x to 5x Year -0x2d 0-90x30-0x39 0-90x30-0x39 Month -0x2d 0-90x30-0x39 0-90x30-0x39 Day time¶ time 0-90x30-0x39 0-90x30-0x39 :0x3a 0-90x30-0x39 0-90x30-0x39 :0x3a 0-90x30-0x39 0-90x30-0x39 .0x2e 0-90x30-0x39 1x to 12x timezone¶ timezone Z0x5a +0x2b -0x2d 0-90x30-0x39 0-90x30-0x39 :0x3a 0-90x30-0x39 0-90x30-0x39 number¶ number +0x2b -0x2d number_unsigned number_object_key¶ number_object_key +0x2b -0x2d number_unsigned_hex number_unsigned_bin number_unsigned_oct number_unsigned_dec exponent_positive number_unsigned¶ number_unsigned number_unsigned_hex number_unsigned_bin number_unsigned_oct number_unsigned_dec exponent_positive exponent_negative number_unsigned_dec .0x2e 0-90x30-0x39 exponent_positive exponent_negative number_unsigned_dec¶ number_unsigned_dec 1-90x31-0x39 0-90x30-0x39 number_unsigned_hex¶ number_unsigned_hex 0x[0x30, 0x78] 0X[0x30, 0x58] hex_digit number_unsigned_bin¶ number_unsigned_bin 0b[0x30, 0x62] 0B[0x30, 0x42] 00x30 10x31 number_unsigned_oct¶ number_unsigned_oct 0o[0x30, 0x6f] 0O[0x30, 0x4f] 0-70x30-0x37 number_suffix¶ number_suffix a-z0x61-0x7a A-Z0x41-0x5a %0x25 a-z0x61-0x7a A-Z0x41-0x5a 0-90x30-0x39 %0x25 15 chars max exponent_positive¶ exponent_positive e0x65 E0x45 +0x2b exponent_negative¶ exponent_negative e0x65 E0x45 -0x2d hex_digit¶ hex_digit a-f0x61-0x66 A-F0x41-0x46 0-90x30-0x39 base64_digit¶ base64_digit a-z0x61-0x7a A-Z0x41-0x5a 0-90x30-0x39 +0x2b /0x2f =0x3d float_literal¶ float_literal nan[0x6e, 0x61, 0x6e] +0x2b -0x2d inf[0x69, 0x6e, 0x66] whitespace_optional¶ whitespace_optional (space)0x20 \t (tab)0x09 \n (line break)0x0a \r (carriage return)0x0d whitespace¶ whitespace (space)0x20 \t (tab)0x09 \n (line break)0x0a \r (carriage return)0x0d line_break¶ line_break \n (line break)0x0a \r (carriage return)0x0d