A JSON CPP library for use in memory constraint environments. This library was originally designed for use with the ATtiny841.
This library is still in development. A 'broken' release is available but please ensure the functionality you require is implemented correctly and that it is the correctly built library for your device.
Please see issue tab for more information on potential bugs not listed here.
- The library is only able to deal with single embedded JSON objects/arrays.
- Only the first of a given key will be found by getvalue().
TinyJSONpp at maximum will have a memory footprint of _ bytes. Please take into consideration the length of the JSON string that needs to be stored in the heap and ensure that the stack will not overflow into the heap.
This section will be updated over time.
The Wiki will eventually contain all usage information and examples.
As of Release v0.1.6-alpha, the libtinyjsonpp.a file and .h can be used with the following device family.
ata5272, ata6616c, attiny13, attiny13a, attiny2313, attiny2313a, attiny24, attiny24a, attiny25, attiny261, attiny261a, attiny43u, attiny4313, attiny44, attiny44a, attiny441, attiny45, attiny461, attiny461a, attiny48, attiny828, attiny84, attiny84a, attiny841, attiny85, attiny861, attiny861a, attiny87, attiny88, at86rf401
More device support will be added in due course.
- Create unit tests and integrate with CI (Build the library for other devices, zip up the library for each device family).
- Create usage documentation.
- Convert the current library in C code as most embedded programming is done using C.
- Make an extended (inherited) smallJSONpp class that extends the base functionality of the library for users who have a less constrained memory environment. There is potential to implement the smallJSONpp library using something similar to a tree data-structure (with linked list like linkage). This would make traversing the JSON string faster but at the extra cost of memory per JSON k-v pair.
- Update README to contain an accurate memory footprint value.