is, as you might expect, a JSON serialization for MARC. A JSON
serialization for MARC is potentially useful in the same places where
MARC-XML would be useful (long records, utility of human-readable records,
etc.) without what many perceive to be the relative pain of working with
XML vs JSON.
It's currently supported across several implementations:
- ruby's *marc* gem
- php's *File_MARC*
- java's *marc4j*
- python's *pymarc*
There wasn't one for perl, so I wrote one :-)
a perl module that allows MARC::Record to encode/decode marc-in-json.
also supplies a handler to MARC::File/MARC::Batch that will read
marc-in-json records from a newline-delimited-json (ndj) file (where each
line is a JSON object without unescaped newlines, ending with a newline).
marc-in-json encoding/decoding tends to be pretty
since json parsers tend to be pretty fast, and uncompressed filesizes
occupy a middle-ground between binary marc and marc-xml. A sample file of
about 18k marc records looks like this:
56M topics.ndj (newline-delimited JSON)
...so obviously it compresses pretty well, too.
I can take generic questions; bugs should go to
[ Note that there are many other possible JSON serializations for
including the (incompatible) one implemented in the
Library Systems Programmer
University of Michigan Library