cojson is a C++ pull-type JSON parser/serializer for constrained platforms, such as bare metal applications on low-end MCUs. It does not use memory allocation and has almost no external dependencies. It is not intrusive – it neither forces nor implies any particular design of the application. Instead it adapts to fit any existing application code. It is tolerant to data type mismatching. When such occurs, parser just skips mismatching data and makes best efforts to continue parsing. The parser is recursive, e.g. nested JSON elements are handled with the recursion. However, this recursion is driven by the structure definition, not by the input data, which prevents stack faults on malformed input data.
cojson is character type neutral – it can work with signed or unsigned character, as well as with standard wide character types: wchar_t, char16_t and char32_t. It is also transparent for UTF8 and properly handles BOM sequence.
Features
- JSON parser; JSON generator