Unserialize a JSON document into a Value.
More...
#include "json.h"
|
| 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< StructuredError > | getStructuredErrors () const |
| Returns a vector of structured erros encounted while parsing. 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...
|
|
bool | good () const |
| Return whether there are any errors. More...
|
|
|
enum | TokenType {
tokenEndOfStream = 0,
tokenObjectBegin,
tokenObjectEnd,
tokenArrayBegin,
tokenArrayEnd,
tokenString,
tokenNumber,
tokenTrue,
tokenFalse,
tokenNull,
tokenArraySeparator,
tokenMemberSeparator,
tokenComment,
tokenError
} |
|
typedef std::deque< ErrorInfo > | Errors |
|
typedef std::stack< Value * > | Nodes |
|
|
bool | expectToken (TokenType type, Token &token, const char *message) |
|
bool | readToken (Token &token) |
|
void | skipSpaces () |
|
bool | match (Location pattern, int patternLength) |
|
bool | readComment () |
|
bool | readCStyleComment () |
|
bool | readCppStyleComment () |
|
bool | readString () |
|
void | readNumber () |
|
bool | readValue () |
|
bool | readObject (Token &token) |
|
bool | readArray (Token &token) |
|
bool | decodeNumber (Token &token) |
|
bool | decodeNumber (Token &token, Value &decoded) |
|
bool | decodeString (Token &token) |
|
bool | decodeString (Token &token, std::string &decoded) |
|
bool | decodeDouble (Token &token) |
|
bool | decodeDouble (Token &token, Value &decoded) |
|
bool | decodeUnicodeCodePoint (Token &token, Location ¤t, Location end, unsigned int &unicode) |
|
bool | decodeUnicodeEscapeSequence (Token &token, Location ¤t, Location end, unsigned int &unicode) |
|
bool | addError (const std::string &message, Token &token, Location extra=0) |
|
bool | recoverFromError (TokenType skipUntilToken) |
|
bool | addErrorAndRecover (const std::string &message, Token &token, TokenType skipUntilToken) |
|
void | skipUntilSpace () |
|
Value & | currentValue () |
|
Char | getNextChar () |
|
void | getLocationLineAndColumn (Location location, int &line, int &column) const |
|
std::string | getLocationLineAndColumn (Location location) const |
|
void | addComment (Location begin, Location end, CommentPlacement placement) |
|
void | skipCommentTokens (Token &token) |
|
Unserialize a JSON document into a Value.
Enumerator |
---|
tokenEndOfStream |
|
tokenObjectBegin |
|
tokenObjectEnd |
|
tokenArrayBegin |
|
tokenArrayEnd |
|
tokenString |
|
tokenNumber |
|
tokenTrue |
|
tokenFalse |
|
tokenNull |
|
tokenArraySeparator |
|
tokenMemberSeparator |
|
tokenComment |
|
tokenError |
|
Constructs a Reader allowing all features for parsing.
Json::Reader::Reader |
( |
const Features & |
features | ) |
|
Constructs a Reader allowing the specified feature set for parsing.
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 |
bool Json::Reader::expectToken |
( |
TokenType |
type, |
|
|
Token & |
token, |
|
|
const char * |
message |
|
) |
| |
|
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).
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.
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.
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.
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.
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.
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.
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.
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: