Peejay 2.0

peejay (โ€œPJโ€, from Parse JSON) is a header-only C++20 JSON parser. You give it UTF-8 text, in one piece or a byte at a time, and it calls functions on an object you supply as it recognizes each value. It can build a tree of values for you, or read a document straight into your own types. The parser never allocates memory and never throws exceptions, and every limit it enforces is fixed at compile time.

Tags json
License Mixed
State stable

Recent Releases

2.013 Nov 2026 16:28 major feature: This release refocuses peejay on being the best possible embedded JSON parser. It removes all support for JSON extensions that were previously present to minimize code size. It also adds the "rules" sub-library to enable application schemas to be consumed without dynamic memory allocation. Those extensions may reappear in later versions, but they will be compile-time gated to ensure that any code or data overhead is "opt in". Also new is complete end-user documentation; any comments are, of course, very welcome!