(defn pprint
"Pretty-prints JSON representation of x to *out*. Options are the
same as for write except :value-fn, which is not supported."
[x & options]
(let [{:keys [escape-unicode escape-slash key-fn]
:or {escape-unicode true
escape-slash true
key-fn default-write-key-fn}} options]
(binding [*escape-unicode* escape-unicode
*escape-slash* escape-slash
*key-fn* key-fn]
(pprint/with-pprint-dispatch pprint-dispatch
(pprint/pprint x)))))