Unserialize a JSON document into a Value. More...
#include <json/reader.h>
Classes | |
struct | StructuredError |
An error tagged with where in the JSON text it was encountered. More... | |
Public Types | |
using | Char = char |
using | Location = const Char * |
Public Member Functions | |
Reader () | |
Constructs a Reader allowing all features for parsing. More... | |
Reader (const Features &features) | |
Constructs a Reader allowing the specified feature set for parsing. More... | |
bool | parse (const std::string &document, Value &root, bool collectComments=true) |
Read a Value from a JSON document. More... | |
bool | parse (const char *beginDoc, const char *endDoc, Value &root, bool collectComments=true) |
Read a Value from a JSON document. More... | |
bool | parse (IStream &is, Value &root, bool collectComments=true) |
Parse from input stream. More... | |
__declspec (deprecated("Use getFormattedErrorMessages() instead.")) String getFormatedErrorMessages() const | |
Returns a user friendly string that list errors in the parsed document. More... | |
String | getFormattedErrorMessages () const |
Returns a user friendly string that list errors in the parsed document. More... | |
std::vector< StructuredError > | getStructuredErrors () const |
Returns a vector of structured errors encountered while parsing. More... | |
bool | pushError (const Value &value, const String &message) |
Add a semantic error message. More... | |
bool | pushError (const Value &value, const String &message, const Value &extra) |
Add a semantic error message with extra context. More... | |
bool | good () const |
Return whether there are any errors. More... | |
Unserialize a JSON document into a Value.
using Json::Reader::Char = char |
using Json::Reader::Location = const Char* |
Json::Reader::Reader | ( | ) |
Constructs a Reader allowing all features for parsing.
Definition at line 87 of file json_reader.cpp.
Json::Reader::Reader | ( | const Features & | features | ) |
Constructs a Reader allowing the specified feature set for parsing.
Definition at line 89 of file json_reader.cpp.
Json::Reader::__declspec | ( | deprecated("Use getFormattedErrorMessages() instead.") | ) | const |
Returns a user friendly string that list errors in the parsed document.
String Json::Reader::getFormattedErrorMessages | ( | ) | const |
Returns a user friendly string that list errors in the parsed document.
Definition at line 796 of file json_reader.cpp.
std::vector< Reader::StructuredError > Json::Reader::getStructuredErrors | ( | ) | const |
Returns a vector of structured errors encountered while parsing.
Definition at line 809 of file json_reader.cpp.
References Json::Reader::StructuredError::message, Json::Reader::StructuredError::offset_limit, and Json::Reader::StructuredError::offset_start.
bool Json::Reader::good | ( | ) | const |
Return whether there are any errors.
true
if there are no errors to report false
if errors have occurred. Definition at line 855 of file json_reader.cpp.
bool Json::Reader::parse | ( | const char * | beginDoc, |
const char * | endDoc, | ||
Value & | root, | ||
bool | collectComments = true |
||
) |
Read a Value from a JSON document.
beginDoc | Pointer on the beginning of the UTF-8 encoded string of the document to read. | |
endDoc | Pointer on the end of the UTF-8 encoded string of the document to read. Must be >= beginDoc. | |
[out] | root | Contains the root value of the document if it was successfully parsed. |
collectComments | true to collect comment and allow writing them back during serialization, false to discard comments. This parameter is ignored if Features::allowComments_ is false . |
true
if the document was successfully parsed, false
if an error occurred. Definition at line 111 of file json_reader.cpp.
References Json::Features::allowComments_, Json::commentAfter, Json::Value::isArray(), Json::Value::isObject(), Json::Value::setComment(), and Json::Features::strictRoot_.
bool Json::Reader::parse | ( | const std::string & | document, |
Value & | root, | ||
bool | collectComments = true |
||
) |
Read a Value from a JSON document.
document | UTF-8 encoded string containing the document to read. | |
[out] | root | Contains the root value of the document if it was successfully parsed. |
collectComments | true to collect comment and allow writing them back during serialization, false to discard comments. This parameter is ignored if Features::allowComments_ is false . |
true
if the document was successfully parsed, false
if an error occurred. Definition at line 91 of file json_reader.cpp.
References parse().
Referenced by parse().
Add a semantic error message.
value | JSON Value location associated with the error |
message | The error message. |
true
if the error was successfully added, false
if the Value offset exceeds the document size. Definition at line 821 of file json_reader.cpp.
References Json::Value::getOffsetLimit(), and Json::Value::getOffsetStart().
Add a semantic error message with extra context.
value | JSON Value location associated with the error |
message | The error message. |
extra | Additional JSON Value location to contextualize the error |
true
if the error was successfully added, false
if either Value offset exceeds the document size. Definition at line 837 of file json_reader.cpp.
References Json::Value::getOffsetLimit(), and Json::Value::getOffsetStart().