Unserialize a JSON document into a Value.
More...
#include <json.h>
|
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< StructuredError > | getStructuredErrors () const |
| Returns a vector of structured erros encounted while parsing. More...
|
|
bool | good () const |
| Return whether there are any errors. 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...
|
|
bool | pushError (const Value &value, const std::string &message) |
| Add a semantic error message. More...
|
|
bool | pushError (const Value &value, const std::string &message, const Value &extra) |
| Add a semantic error message with extra context. More...
|
|
| 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...
|
|
|
typedef std::deque< ErrorInfo > | Errors |
|
typedef std::stack< Value * > | Nodes |
|
enum | TokenType {
tokenEndOfStream = 0,
tokenObjectBegin,
tokenObjectEnd,
tokenArrayBegin,
tokenArrayEnd,
tokenString,
tokenNumber,
tokenTrue,
tokenFalse,
tokenNull,
tokenArraySeparator,
tokenMemberSeparator,
tokenComment,
tokenError
} |
|
|
void | addComment (Location begin, Location end, CommentPlacement placement) |
|
bool | addError (const std::string &message, Token &token, Location extra=0) |
|
bool | addErrorAndRecover (const std::string &message, Token &token, TokenType skipUntilToken) |
|
Value & | currentValue () |
|
bool | decodeDouble (Token &token) |
|
bool | decodeDouble (Token &token, Value &decoded) |
|
bool | decodeNumber (Token &token) |
|
bool | decodeNumber (Token &token, Value &decoded) |
|
bool | decodeString (Token &token) |
|
bool | decodeString (Token &token, std::string &decoded) |
|
bool | decodeUnicodeCodePoint (Token &token, Location ¤t, Location end, unsigned int &unicode) |
|
bool | decodeUnicodeEscapeSequence (Token &token, Location ¤t, Location end, unsigned int &unicode) |
|
void | getLocationLineAndColumn (Location location, int &line, int &column) const |
|
std::string | getLocationLineAndColumn (Location location) const |
|
Char | getNextChar () |
|
bool | match (Location pattern, int patternLength) |
|
bool | readArray (Token &token) |
|
bool | readComment () |
|
bool | readCppStyleComment () |
|
bool | readCStyleComment () |
|
void | readNumber () |
|
bool | readObject (Token &token) |
|
bool | readString () |
|
bool | readToken (Token &token) |
|
bool | readValue () |
|
bool | recoverFromError (TokenType skipUntilToken) |
|
void | skipCommentTokens (Token &token) |
|
void | skipSpaces () |
|
void | skipUntilSpace () |
|
Unserialize a JSON document into a Value.
- Deprecated:
- Use CharReader and CharReaderBuilder.
Definition at line 1230 of file json.h.
Enumerator |
---|
tokenEndOfStream |
|
tokenObjectBegin |
|
tokenObjectEnd |
|
tokenArrayBegin |
|
tokenArrayEnd |
|
tokenString |
|
tokenNumber |
|
tokenTrue |
|
tokenFalse |
|
tokenNull |
|
tokenArraySeparator |
|
tokenMemberSeparator |
|
tokenComment |
|
tokenError |
|
Definition at line 1356 of file json.h.
Json::Reader::Reader |
( |
const Features & |
features | ) |
|
Constructs a Reader allowing the specified feature set for parsing.
Definition at line 264 of file jsoncpp.cpp.
bool Json::Reader::addError |
( |
const std::string & |
message, |
|
|
Token & |
token, |
|
|
Location |
extra = 0 |
|
) |
| |
|
private |
bool Json::Reader::addErrorAndRecover |
( |
const std::string & |
message, |
|
|
Token & |
token, |
|
|
TokenType |
skipUntilToken |
|
) |
| |
|
private |
Value & Json::Reader::currentValue |
( |
| ) |
|
|
private |
bool Json::Reader::decodeDouble |
( |
Token & |
token | ) |
|
|
private |
bool Json::Reader::decodeDouble |
( |
Token & |
token, |
|
|
Value & |
decoded |
|
) |
| |
|
private |
bool Json::Reader::decodeNumber |
( |
Token & |
token | ) |
|
|
private |
bool Json::Reader::decodeNumber |
( |
Token & |
token, |
|
|
Value & |
decoded |
|
) |
| |
|
private |
bool Json::Reader::decodeString |
( |
Token & |
token | ) |
|
|
private |
bool Json::Reader::decodeString |
( |
Token & |
token, |
|
|
std::string & |
decoded |
|
) |
| |
|
private |
bool Json::Reader::decodeUnicodeCodePoint |
( |
Token & |
token, |
|
|
Location & |
current, |
|
|
Location |
end, |
|
|
unsigned int & |
unicode |
|
) |
| |
|
private |
bool Json::Reader::decodeUnicodeEscapeSequence |
( |
Token & |
token, |
|
|
Location & |
current, |
|
|
Location |
end, |
|
|
unsigned int & |
unicode |
|
) |
| |
|
private |
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 1020 of file jsoncpp.cpp.
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 1024 of file jsoncpp.cpp.
void Json::Reader::getLocationLineAndColumn |
( |
Location |
location, |
|
|
int & |
line, |
|
|
int & |
column |
|
) |
| const |
|
private |
std::string Json::Reader::getLocationLineAndColumn |
( |
Location |
location | ) |
const |
|
private |
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 1040 of file jsoncpp.cpp.
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 1090 of file jsoncpp.cpp.
bool Json::Reader::match |
( |
Location |
pattern, |
|
|
int |
patternLength |
|
) |
| |
|
private |
bool Json::Reader::parse |
( |
const std::string & |
document, |
|
|
Value & |
root, |
|
|
bool |
collectComments = true |
|
) |
| |
Read a Value from a JSON document.
- Parameters
-
document | UTF-8 encoded string containing the document to read. |
root | [out] 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 . |
- Returns
true
if the document was successfully parsed, false
if an error occurred.
Definition at line 270 of file jsoncpp.cpp.
bool Json::Reader::parse |
( |
const char * |
beginDoc, |
|
|
const char * |
endDoc, |
|
|
Value & |
root, |
|
|
bool |
collectComments = true |
|
) |
| |
Read a Value from a JSON document.
- Parameters
-
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. |
root | [out] 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 . |
- Returns
true
if the document was successfully parsed, false
if an error occurred.
Definition at line 290 of file jsoncpp.cpp.
bool Json::Reader::parse |
( |
std::istream & |
is, |
|
|
Value & |
root, |
|
|
bool |
collectComments = true |
|
) |
| |
bool Json::Reader::pushError |
( |
const Value & |
value, |
|
|
const std::string & |
message |
|
) |
| |
Add a semantic error message.
- Parameters
-
value | JSON Value location associated with the error |
message | The error message. |
- Returns
true
if the error was successfully added, false
if the Value offset exceeds the document size.
Definition at line 1055 of file jsoncpp.cpp.
bool Json::Reader::pushError |
( |
const Value & |
value, |
|
|
const std::string & |
message, |
|
|
const Value & |
extra |
|
) |
| |
Add a semantic error message with extra context.
- Parameters
-
value | JSON Value location associated with the error |
message | The error message. |
extra | Additional 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 1072 of file jsoncpp.cpp.
bool Json::Reader::readArray |
( |
Token & |
token | ) |
|
|
private |
bool Json::Reader::readComment |
( |
| ) |
|
|
private |
bool Json::Reader::readCppStyleComment |
( |
| ) |
|
|
private |
bool Json::Reader::readCStyleComment |
( |
| ) |
|
|
private |
void Json::Reader::readNumber |
( |
| ) |
|
|
private |
bool Json::Reader::readObject |
( |
Token & |
token | ) |
|
|
private |
bool Json::Reader::readString |
( |
| ) |
|
|
private |
bool Json::Reader::readToken |
( |
Token & |
token | ) |
|
|
private |
bool Json::Reader::readValue |
( |
| ) |
|
|
private |
bool Json::Reader::recoverFromError |
( |
TokenType |
skipUntilToken | ) |
|
|
private |
void Json::Reader::skipCommentTokens |
( |
Token & |
token | ) |
|
|
private |
void Json::Reader::skipSpaces |
( |
| ) |
|
|
private |
void Json::Reader::skipUntilSpace |
( |
| ) |
|
|
private |
bool Json::Reader::collectComments_ |
|
private |
std::string Json::Reader::commentsBefore_ |
|
private |
std::string Json::Reader::document_ |
|
private |
Value* Json::Reader::lastValue_ |
|
private |
Nodes Json::Reader::nodes_ |
|
private |
The documentation for this class was generated from the following files: