 
 ;;; JSON READER
 
-(def ^:dynamic ^:private *keywordize*)
 (def ^:dynamic ^:private *bigdec*)
+(def ^:dynamic ^:private *key-fn*)
+(def ^:dynamic ^:private *value-fn*)
 
 (declare -parse)
 

     :eof-value Object

        Object to return if the stream is empty and eof-error? is
        false. Default is nil."
  [reader & options]
  (let [{:keys [keywordize eof-error? eof-value bigdec]
         :or {keywordize false
              bigdec false
              eof-error? true}} options]
    (binding [*keywordize* keywordize
              *bigdec* bigdec]
      (-parse reader eof-error? eof-value))))

(defn parse-string
  "Reads one JSON value from input String. Options are the same as for

  "Parse a single item of JSON data from a java.io.Reader. Options are
  key-value pairs, valid options are:

     :bigdec boolean

        If true use BigDecimal for decimal numbers instead of Double.
