JsonCpp project page JsonCpp home page

Classes | Public Types | Public Member Functions

Json::Reader Class Reference

Unserialize a JSON document into a Value. More...

#include <json/reader.h>

Collaboration diagram for Json::Reader:

List of all members.

Classes

class  ErrorInfo
struct  StructuredError
 An error tagged with where in the JSON text it was encountered. More...
class  Token

Public Types

typedef char Char
typedef const CharLocation

Public Member Functions

 Reader ()
 Constructs a Reader allowing all features for parsing.
 Reader (const Features &features)
 Constructs a Reader allowing the specified feature set for parsing.
bool parse (const std::string &document, Value &root, bool collectComments=true)
 Read a Value from a JSON document.
bool parse (const char *beginDoc, const char *endDoc, Value &root, bool collectComments=true)
 Read a Value from a JSON document.
bool parse (std::istream &is, Value &root, bool collectComments=true)
 Parse from input stream.
std::string getFormatedErrorMessages () const
 Returns a user friendly string that list errors in the parsed document.
std::string getFormattedErrorMessages () const
 Returns a user friendly string that list errors in the parsed document.
std::vector< StructuredErrorgetStructuredErrors () const
 Returns a vector of structured erros encounted while parsing.
bool pushError (const Value &value, const std::string &message)
 Add a semantic error message.
bool pushError (const Value &value, const std::string &message, const Value &extra)
 Add a semantic error message with extra context.
bool good () const
 Return whether there are any errors.

Detailed Description

Unserialize a JSON document into a Value.

Deprecated:
Use CharReader and CharReaderBuilder.

Definition at line 33 of file reader.h.


Member Typedef Documentation

typedef char Json::Reader::Char

Definition at line 35 of file reader.h.

typedef const Char* Json::Reader::Location

Definition at line 36 of file reader.h.


Constructor & Destructor Documentation

Json::Reader::Reader ( )

Constructs a Reader allowing all features for parsing.

Definition at line 72 of file json_reader.cpp.

Json::Reader::Reader ( const Features features)

Constructs a Reader allowing the specified feature set for parsing.

Definition at line 77 of file json_reader.cpp.


Member Function Documentation

std::string Json::Reader::getFormatedErrorMessages ( ) const

Returns a user friendly string that list errors in the parsed document.

Returns:
Formatted error message with the list of errors with their location in the parsed document. An empty string is returned if no error occurred during parsing.
Deprecated:
Use getFormattedErrorMessages() instead (typo fix).

Definition at line 833 of file json_reader.cpp.

References getFormattedErrorMessages().

std::string Json::Reader::getFormattedErrorMessages ( ) const

Returns a user friendly string that list errors in the parsed document.

Returns:
Formatted error message with the list of errors with their location in the parsed document. An empty string is returned if no error occurred during parsing.

Definition at line 837 of file json_reader.cpp.

Referenced by getFormatedErrorMessages().

Here is the caller graph for this function:

std::vector< Reader::StructuredError > Json::Reader::getStructuredErrors ( ) const

Returns a vector of structured erros encounted while parsing.

Returns:
A (possibly empty) vector of StructuredError objects. Currently only one error can be returned, but the caller should tolerate multiple errors. This can occur if the parser recovers from a non-fatal parse error and then encounters additional errors.

Definition at line 853 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.

Returns:
true if there are no errors to report false if errors have occurred.

Definition at line 903 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.

Parameters:
beginDocPointer on the beginning of the UTF-8 encoded string of the document to read.
endDocPointer on the end of the UTF-8 encoded string of the document to read. Must be >= beginDoc.
root[out] Contains the root value of the document if it was successfully parsed.
collectCommentstrue to collect comment and allow writing them back during serialization, false to discard comments. This parameter is ignored if Features::allowComments_ is false.
Returns:
true if the document was successfully parsed, false if an error occurred.

Definition at line 103 of file json_reader.cpp.

References Json::Features::allowComments_, Json::commentAfter, Json::Value::isArray(), Json::Value::isObject(), Json::Value::setComment(), stackDepth_g, and Json::Features::strictRoot_.

bool Json::Reader::parse ( const std::string &  document,
Value root,
bool  collectComments = true 
)

Read a Value from a JSON document.

Parameters:
documentUTF-8 encoded string containing the document to read.
root[out] Contains the root value of the document if it was successfully parsed.
collectCommentstrue to collect comment and allow writing them back during serialization, false to discard comments. This parameter is ignored if Features::allowComments_ is false.
Returns:
true if the document was successfully parsed, false if an error occurred.

Definition at line 83 of file json_reader.cpp.

Referenced by parse().

Here is the caller graph for this function:

bool Json::Reader::parse ( std::istream &  is,
Value root,
bool  collectComments = true 
)

Parse from input stream.

See also:
Json::operator>>(std::istream&, Json::Value&).

Definition at line 90 of file json_reader.cpp.

References parse().

bool Json::Reader::pushError ( const Value value,
const std::string &  message 
)

Add a semantic error message.

Parameters:
valueJSON Value location associated with the error
messageThe error message.
Returns:
true if the error was successfully added, false if the Value offset exceeds the document size.

Definition at line 868 of file json_reader.cpp.

References Json::Value::getOffsetLimit(), and Json::Value::getOffsetStart().

bool Json::Reader::pushError ( const Value value,
const std::string &  message,
const Value extra 
)

Add a semantic error message with extra context.

Parameters:
valueJSON Value location associated with the error
messageThe error message.
extraAdditional JSON Value location to contextualize the error
Returns:
true if the error was successfully added, false if either Value offset exceeds the document size.

Definition at line 885 of file json_reader.cpp.

References Json::Value::getOffsetLimit(), and Json::Value::getOffsetStart().


The documentation for this class was generated from the following files: