minijson

C++ DOM-less and allocation-free JSON parsing and serialization

minijson is a C++ project for JSON parsing and serialization that does not necessarily use any
DOM-like intermediate in-memory representation. With minijson you trade the convenience of a DOM for
the possibility of writing and parsing JSON messages without allocating a single byte of memory.

minijson_reader
and minijson_writer
are two completely independent libraries.
The only things they share are a namespace and a common goal, i.e.
fat-free JSON in C++.

minijson_reader
is a callback-based parser (you can use lambdas in C++11), that can effectively parse JSON messages without allocating
a single byte of memory, provided the input buffer can be modified. std::istream input is also
supported, but in that case memory allocations must take place.

minijson_writer
is a simple decorator around a std::ostream. It directly writes on the stream without allocating
additional memory, and does not throw exceptions unless the stream does.