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
- trueif there are no errors to report- falseif 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 | trueto collect comment and allow writing them back during serialization,falseto discard comments. This parameter is ignored if Features::allowComments_ isfalse. |  
 
- Returns
- trueif the document was successfully parsed,- falseif 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 | trueto collect comment and allow writing them back during serialization,falseto discard comments. This parameter is ignored if Features::allowComments_ isfalse. |  
 
- Returns
- trueif the document was successfully parsed,- falseif 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
- trueif the error was successfully added,- falseif 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
- trueif the error was successfully added,- falseif 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: