============================== recovers from top-level errors ============================== [} --- (ERROR) ================================== recovers from errors inside arrays ================================== [1,,2] --- (value (array (value (number)) (ERROR) (value (number)))) ================================== recovers from errors inside objects ================================== { "key1": 1, 5 } --- (value (object (string) (value (number)) (ERROR))) ========================================== recovers from errors inside nested objects ========================================== { "key1": { "key2": 1, 2 }, [, "key3": 3 } --- (value (object (string) (value (object (string) (value (number)) (ERROR))) (ERROR) (string) (value (number))))