Open Lighting Architecture
Latest Git
|
A JsonParserInterface implementation that builds a tree of JsonValues.
This is the most common implementation of the JsonParserInterface but it's also the least efficient since it loads the entire document into memory.
Public Member Functions | |
void | Begin () |
Called when parsing begins. | |
void | End () |
Called when parsing completes. | |
void | String (const std::string &value) |
Called when a string is encountered. More... | |
void | Number (uint32_t value) |
Called when a uint32_t is encountered. | |
void | Number (int32_t value) |
Called when a int32_t is encountered. | |
void | Number (uint64_t value) |
Called when a uint64_t is encountered. | |
void | Number (int64_t value) |
Called when a int64_t is encountered. | |
void | Number (const JsonDouble::DoubleRepresentation &rep) |
Called when a double value is encountered. More... | |
void | Number (double value) |
Called when a double value is encountered. | |
void | Bool (bool value) |
Called when a bool is encountered. | |
void | Null () |
Called when a null token is encountered. | |
void | OpenArray () |
Called when an array starts. | |
void | CloseArray () |
Called when an array completes. | |
void | OpenObject () |
Called when an object starts. | |
void | ObjectKey (const std::string &key) |
Called when a new key is encountered. More... | |
void | CloseObject () |
Called when an object completes. | |
void | SetError (const std::string &error) |
Can be called at any time to indicate an error with the input data. | |
std::string | GetError () const |
Check if parsing was successful. | |
JsonValue * | GetRoot () |
Get the root of the parse tree, or NULL if parsing failed. More... | |
JsonValue * | ClaimRoot () |
Get the root of the parse tree, or NULL if parsing failed. More... | |
Static Public Member Functions | |
static JsonValue * | Parse (const std::string &input, std::string *error) |
Parse text and return a JsonValue representation. | |
JsonValue * ola::web::JsonParser::ClaimRoot | ( | ) |
Get the root of the parse tree, or NULL if parsing failed.
JsonValue * ola::web::JsonParser::GetRoot | ( | ) |
Get the root of the parse tree, or NULL if parsing failed.
|
virtual |
Called when a double value is encountered.
MinGW struggles with long doubles http://mingw.5.n7.nabble.com/Strange-behaviour-of-gcc-4-8-1-with-long-double-td32949.html To avoid this, and to keep as many significant bits as possible we keep the components of a double separate. See JsonDouble for details.
Implements ola::web::JsonParserInterface.
|
virtual |
Called when a new key is encountered.
This may be called multiple times for the same object. The standard doesn't specify how to handle duplicate keys, so I generally use the last one.
Implements ola::web::JsonParserInterface.
|
virtual |
Called when a string is encountered.
This is not called for object keys, see ObjectKey() below.
Implements ola::web::JsonParserInterface.