lonejson is a schema-guided JSON library for C. In normal source-tree use it is built and linked as liblonejson, with a public header in include/lonejson.h. The release process also produces a standalone single-header artifact for projects that prefer to vendor one file directly. The library maps JSON objects directly into C structs and back again, with a particular emphasis on object-framed streams, predictable fixed-capacity decoding, and pipelines that need to move large values through JSON without holding everything in memory at once.
The project is built for programs that already know the shape of the data they care about. Instead of constructing a generic DOM and walking it afterward, you describe the fields you want, bind them to a lonejson_map, and parse or serialize through that schema. That approach gives the library its character: it is strongly typed, stream-oriented, and deliberate about ownership and allocation.
Repository: https://github.com/sa6mwa/lonejson
Examples: https://github.com/sa6mwa/lonejson/tree/main/examples