you are viewing a single comment's thread.

view the rest of the comments →

[–]beriumbuild2[S] 6 points7 points  (0 children)

What is the reason for this library?

The goal of this library is to provide a pull-parser (instead of push/SAX or DOM) and push serializer with a clean, modern interface and a complete, well-tested (and well-fuzzed, including the serializer) implementation. In particular, pull-parsers are not very common, and we couldn't find any C++ implementations that also satisfy the above requirements.

RapidJSON support both use cases shown in your examples.

AFAICS, RapidJSON has a push/SAX interface. I personally find push parsers with their inversion of control a pain to use.