Browse Clojure Foundations for Java Developers

Working with Data

Make data the center: model, transform, validate, and serialize values with confidence.

In Java, it is common to wrap data in classes and let behavior hang off methods. In Clojure, data is usually front and center: you model it as maps and vectors, transform it with functions, and keep the shape easy to inspect at the REPL.

This chapter teaches practical data work: building clear domain maps, transforming nested structures, validating inputs, and moving data across boundaries (JSON, EDN, databases). It also covers the trade-offs you need to be aware of when you choose “plain data” over rich objects.

If you learn to make data explicit and readable, your Clojure code becomes dramatically easier to debug and evolve.

In this section

Revised on Friday, April 24, 2026