     (codepoint-case c
       \] []
       \, (throw (invalid-array-exception))
-      -1 (throw (Exception. "JSON error (end-of-file inside array)"))
       (do (.unread stream c)
           (read-array* stream options)))))
 

    :escape-unicode false
        to turn off \\uXXXX escapes of Unicode characters."
  [x & options]
  (apply pprint x options))

        (if (= (codepoint \:) (int (next-token stream)))
          key
          (throw (Exception. "JSON error (missing `:` in object)"))))
      (if (= c (codepoint \}))
        nil
        (throw (Exception. (str "JSON error (non-string key in object), found `" (char c) "`, expected `\"`")))))))

(defn- read-object [^PushbackReader stream options]
