Open Lighting Architecture
0.9.4
|
Parse a JSON Patch document (RFC 6902).
Public Member Functions | |
JsonPatchParser (JsonPatchSet *patch_set) | |
void | Begin () |
Called when parsing begins. | |
void | End () |
Called when parsing completes. | |
void | String (const std::string &value) |
Called when a string is encounted. | |
void | Number (uint32_t value) |
Called when a uint32_t is encounted. | |
void | Number (int32_t value) |
Called when a int32_t is encounted. | |
void | Number (uint64_t value) |
Called when a uint64_t is encounted. | |
void | Number (int64_t value) |
Called when a int64_t is encounted. | |
void | Number (const JsonDouble::DoubleRepresentation &rep) |
Called when a double value is encounted. | |
void | Number (double value) |
Called when a double value is encounted. | |
void | Bool (bool value) |
Called when a bool is encounted. | |
void | Null () |
Called when a null token is encounted. | |
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 encounted. | |
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. | |
bool | IsValid () const |
Check if this patch document was valid. |
Static Public Member Functions | |
static bool | Parse (const std::string &input, JsonPatchSet *patch_set, std::string *error) |
Build a JsonPatchSet from a JSON document. |
|
virtual |
Called when a double value is encounted.
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 encounted.
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.
|
static |
Build a JsonPatchSet from a JSON document.
input | the JSON text to parse |
patch_set | the JsonPatchSet to populate |
error | where to store any errors. |
|
virtual |
Called when a string is encounted.
This is not called for object keys, see ObjectKey() below.
Implements ola::web::JsonParserInterface.