NJSON aims to make it convenient for one to decode, encode, and process JSON data, in the minimum keystrokes/minutes possible.
NJSON is parser-independent, with existing Common Lisp JSON parsers being loadable as additional system. jzon
is included by default, though. Conveniences that NJSON provides are:
encode
anddecode
as single entry points for JSON reading and writing, be it from streams/string/files, or from those.jget
,jcopy
,jkeys
, and their aliases to manipulate the decoded objects' properties without the need to worry about the low-level details of how these values are decoded.jif
,jwhen
,jor
,jand
, and other macros mimicking Lisp ones, while using truth values of JSON-decoded data.jbind
andjmatch
macros to destructure and validate parsed JSON.njson/aliases
package to nickname toj
for all the forms conveniently accessible asj:get
,j:copy
,j:if
etc.