JsonCpp project page JsonCpp home page

Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Json::Reader Class Reference

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

typedef char 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 (std::istream &is, Value &root, bool collectComments=true)
 Parse from input stream. More...
 
std::string getFormatedErrorMessages () const
 Returns a user friendly string that list errors in the parsed document. More...
 
std::string getFormattedErrorMessages () const
 Returns a user friendly string that list errors in the parsed document. More...
 
std::vector< StructuredErrorgetStructuredErrors () const
 Returns a vector of structured erros encounted while parsing. More...
 

Public Attributes

const typedef CharLocation
 

Detailed Description

Unserialize a JSON document into a Value.

Definition at line 31 of file reader.h.

Member Typedef Documentation

◆ Char

typedef char Json::Reader::Char

Definition at line 33 of file reader.h.

Constructor & Destructor Documentation

◆ Reader() [1/2]

Json::Reader::Reader ( )

Constructs a Reader allowing all features for parsing.

Definition at line 73 of file json_reader.cpp.

◆ Reader() [2/2]

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

Constructs a Reader allowing the specified feature set for parsing.

Definition at line 78 of file json_reader.cpp.

Member Function Documentation

◆ getFormatedErrorMessages()

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 796 of file json_reader.cpp.

References getFormattedErrorMessages().

◆ 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 800 of file json_reader.cpp.

Referenced by getFormatedErrorMessages(), and Json::operator>>().

◆ getStructuredErrors()

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 816 of file json_reader.cpp.

References Json::Reader::StructuredError::message, Json::Reader::StructuredError::offset_limit, and Json::Reader::StructuredError::offset_start.

◆ parse() [1/3]

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 104 of file json_reader.cpp.

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

◆ parse() [2/3]

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 84 of file json_reader.cpp.

Referenced by Json::operator>>(), and parse().

◆ parse() [3/3]

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 91 of file json_reader.cpp.

References parse().

Member Data Documentation

◆ Location

const typedef Char* Json::Reader::Location

Definition at line 34 of file reader.h.


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