
pm9999
Web Development with Clojure, Third Edition: name confusing and missing fn/var page 218/219
(json/read-value json/keyword-keys-object-mapper)
json/keyword-keys-object-mapper
doesn’t exist
We’ve required cheshire.core’s generate-string and parse-string functions for working
with converting between JSON and EDN, and we’ve imported the classes for
which we’ll need to implement the IResultSetReadColumn and ISQLValue protocols.
Where is generate-string
and parse-string
used?
We’ve implemented IResultSetReadColumn for Array, returning a Clojure vector,
and for PGObjects of type JSON and JSONB, returning a Clojure map.
By json/read-value
? Can you clarify?
Then, we’ve written a helper function to-pg-json to convert maps and vectors
to PGObjects. We use this function in our implementations of ISQLValue for IPersistentMap
and IPersistentVector to convert them into JSONB for use in queries.
Can you clarify to-pg-json
as it’s not in the code? Did it mean write-pg-object
and the extend-protocl
right afterwards?
Most Liked

zach
I encountered the same issue and was able to fix it by updating my project.clj
to use [metosin/muuntaja 0.6.8]
instead of 0.6.7
(as instructed in the book).
It looks like that keyword-keys-object-mapper wasn’t a part of jsonista until its v0.3.5, which wasn’t a part of earlier muuntaja’s.
I cannot answer the rest of the issue, but it looks likely that the author hasn’t fully updated this section?
Popular Prag Prog topics









Modern Front-End Development for Rails - application does not start after run bin/setup (page xviii)

Other popular topics









Latest in PragProg
Latest (all)
Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /js
- /rails
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /haskell
- /java
- /emacs
- /svelte
- /onivim
- /typescript
- /crystal
- /c-plus-plus
- /tailwind
- /kotlin
- /gleam
- /react
- /flutter
- /elm
- /ocaml
- /vscode
- /opensuse
- /centos
- /ash
- /php
- /deepseek
- /scala
- /zig
- /html
- /debian
- /nixos
- /lisp
- /agda
- /textmate
- /sublime-text
- /react-native
- /kubuntu
- /arch-linux
- /revery
- /ubuntu
- /manjaro
- /spring
- /django
- /diversity
- /nodejs
- /lua
- /slackware
- /julia
- /c
- /neovim