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.