I've lately released a very minimalistic JSON parser for C++.
Why another C++ parser?
While I really like the puristic and lightweight approach of the JSON
format, the C++ libraries on JSON.org feel a bit to "heavy weighted"
to me. Mainly the introduction of an own object model class hierarchy
(why does everyone re-invent the variant class if there is a de-facto
standard as Boost.Any?), and the use of own exception handling classes
made it quite hard to integrate one of the libs into my already
existing project! Furthermore, some classes where not type-safe or
lacked the support of Unicode characters - which is crucial in my case!
So I implemented an own JSON parser (only reading, _not_ writing) that
uses Boost.Spirit for parsing and Boost.Any for the variant type. The
light-weighted code significantly simplifies the migration of JSON in
Any feedback is welcome!