Json -> Value Value -> Null Value -> Boolean Value -> Number Value -> String Value -> Array Value -> Object Null -> 'null' Boolean -> 'true' Boolean -> 'false' Number -> %f String -> %s Array -> '[' ']' Array -> '[' ArrayElements ']' ArrayElements -> Value ArrayElements -> ArrayElements ',' Value Object -> '{' '}' Object -> '{' ObjectElements '}' ObjectElements -> String ':' Value ObjectElements -> ObjectElements ',' String ':' Value %f -> /[-]?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/ %s -> /"([^"\\]|\\["\\bnfrt]|u[a-fA-F0-9]{4})*"/