A C library implementing Google's Protocol Buffers data format. Mainly targeted towards embedded / limited resources use cases.
Nanopb is a plain-C implementation of Google's Protocol Buffers data format. It is targeted at 32-bit microcontrollers but is also fit for other embedded systems with tight (2-10 kB ROM, <1 kB RAM) memory constraints.