- Encode to a JSON string with `(cheshire.core/generate-string data)` — add `{:pretty true}` for human-readable formatted output.
- Parse JSON strings with `(cheshire.core/parse-string json-str true)` — the `true` flag returns keyword keys instead of string keys.
- Parse JSON streams with `(cheshire.core/parse-stream reader true)` — avoids loading the entire JSON payload into memory as a string.
- Encode directly to a stream with `(cheshire.core/generate-stream data writer)` — pass a `java.io.Writer` for Ring response streaming.
- Use `{:date-format "yyyy-MM-dd"}` as the options map to control date serialisation format.
- Alias the namespace: `(:require [cheshire.core :as json])` — use consistently as `(json/parse-string ...)` and `(json/generate-string ...)`.
- Wrap parsing in error handling: `(try (json/parse-string s true) (catch Exception _ nil))` — Jackson throws unchecked exceptions on malformed JSON.
- Register custom encoders with `(cheshire.generate/add-encoder MyType (fn [obj gen] (.writeString gen (str obj))))` for domain types.