JSON Model Grammar
JSON := (MAP | ARRAY)
NODE := (MAP | ARRAY | SCALAR)
MAP := (STRING, NODE)*
ARRAY := NODE*
SCALAR := (string | number | boolean | null)
YAML Model Grammar
YAML := NODE*
NODE := (typed)(MAP | ARRAY | SCALAR | ALIAS)
MAP := (NODE, NODE)*
ARRAY := NODE*
SCALAR := typed_string