Ditto 4.8.0-rc.2
|
SAX implementation to create a JSON value from SAX events. More...
#include <json.hpp>
Public Member Functions | |
json_sax_dom_parser (BasicJsonType &r, const bool allow_exceptions_=true) | |
json_sax_dom_parser (const json_sax_dom_parser &)=delete | |
json_sax_dom_parser (json_sax_dom_parser &&)=default | |
json_sax_dom_parser & | operator= (const json_sax_dom_parser &)=delete |
json_sax_dom_parser & | operator= (json_sax_dom_parser &&)=default |
bool | null () |
bool | boolean (bool val) |
bool | number_integer (number_integer_t val) |
bool | number_unsigned (number_unsigned_t val) |
bool | number_float (number_float_t val, const string_t &) |
bool | string (string_t &val) |
bool | binary (binary_t &val) |
bool | start_object (std::size_t len) |
bool | key (string_t &val) |
bool | end_object () |
bool | start_array (std::size_t len) |
bool | end_array () |
template<class Exception > | |
bool | parse_error (std::size_t, const std::string &, const Exception &ex) |
constexpr bool | is_errored () const |
SAX implementation to create a JSON value from SAX events.
This class implements the json_sax interface and processes the SAX events to create a JSON value which makes it basically a DOM parser. The structure or hierarchy of the JSON value is managed by the stack ref_stack
which contains a pointer to the respective array or object for each recursion depth.
After successful parsing, the value that is passed by reference to the constructor contains the parsed value.
BasicJsonType | the JSON type |
|
inlineexplicit |
[in,out] | r | reference to a JSON value that is manipulated while parsing |
[in] | allow_exceptions_ | whether parse errors yield exceptions |