IOSS 2.0

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

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

`#include <json.h>`

## 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 Char * | Location

## 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< 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...

## Private Types
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

## Private Member Functions
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 &current, Location end, unsigned int &unicode)
bool | decodeUnicodeEscapeSequence (Token &token, Location &current, 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)

## Private Attributes
Nodes | nodes_
Errors | errors_
std::string | document_
Location | begin_
Location | end_
Location | current_
Location | lastValueEnd_
Value * | lastValue_
std::string | commentsBefore_
Features | features_
bool | collectComments_

## Detailed Description

Unserialize a JSON document into a Value.

Deprecated:
  Use CharReader and CharReaderBuilder.

## Member Typedef Documentation

## ◆ Char

typedef char Json::Reader::Char

## ◆ Errors

typedef std::deque<ErrorInfo> Json::Reader::Errors
| private

## ◆ Location

typedef const Char* Json::Reader::Location

## ◆ Nodes

typedef std::stack<Value *> Json::Reader::Nodes
| private

## Member Enumeration Documentation

## ◆ TokenType

enum Json::Reader::TokenType
| private

Enumerator
tokenEndOfStream |
tokenObjectBegin |
tokenObjectEnd |
tokenArrayBegin |
tokenArrayEnd |
tokenString |
tokenNumber |
tokenTrue |
tokenFalse |
tokenNull |
tokenArraySeparator |
tokenMemberSeparator |
tokenComment |
tokenError |

## Constructor & Destructor Documentation

## ◆ Reader() [1/2]

Json::Reader::Reader | ( |  | ) |

Constructs a Reader allowing all features for parsing.

## ◆ Reader() [2/2]

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

Constructs a Reader allowing the specified feature set for parsing.

## Member Function Documentation

## ◆ addComment()

void Json::Reader::addComment | ( | Location | begin,
|  | Location | end,
|  | CommentPlacement | placement
| ) |  |
| private

## ◆ addError()

bool Json::Reader::addError | ( | const std::string & | message,
|  | Token & | token,
|  | Location | extra = `0`
| ) |  |
| private

## ◆ addErrorAndRecover()

bool Json::Reader::addErrorAndRecover | ( | const std::string & | message,
|  | Token & | token,
|  | TokenType | skipUntilToken
| ) |  |
| private

## ◆ currentValue()

Value& Json::Reader::currentValue | ( |  | ) |
| private

## ◆ decodeDouble() [1/2]

bool Json::Reader::decodeDouble | ( | Token & | token | ) |
| private

## ◆ decodeDouble() [2/2]

bool Json::Reader::decodeDouble | ( | Token & | token,
|  | Value & | decoded
| ) |  |
| private

## ◆ decodeNumber() [1/2]

bool Json::Reader::decodeNumber | ( | Token & | token | ) |
| private

## ◆ decodeNumber() [2/2]

bool Json::Reader::decodeNumber | ( | Token & | token,
|  | Value & | decoded
| ) |  |
| private

## ◆ decodeString() [1/2]

bool Json::Reader::decodeString | ( | Token & | token | ) |
| private

## ◆ decodeString() [2/2]

bool Json::Reader::decodeString | ( | Token & | token,
|  | std::string & | decoded
| ) |  |
| private

## ◆ decodeUnicodeCodePoint()

bool Json::Reader::decodeUnicodeCodePoint | ( | Token & | token,
|  | Location & | current,
|  | Location | end,
|  | unsigned int & | unicode
| ) |  |
| private

## ◆ decodeUnicodeEscapeSequence()

bool Json::Reader::decodeUnicodeEscapeSequence | ( | Token & | token,
|  | Location & | current,
|  | Location | end,
|  | unsigned int & | unicode
| ) |  |
| private

## ◆ 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).

## ◆ 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.

## ◆ getLocationLineAndColumn() [1/2]

void Json::Reader::getLocationLineAndColumn | ( | Location | location,
|  | int & | line,
|  | int & | column
| ) |  | const
| private

## ◆ getLocationLineAndColumn() [2/2]

std::string Json::Reader::getLocationLineAndColumn | ( | Location | location | ) | const
| private

## ◆ getNextChar()

Char Json::Reader::getNextChar | ( |  | ) |
| private

## ◆ getStructuredErrors()

std::vector<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.

## ◆ good()

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.

## ◆ match()

bool Json::Reader::match | ( | Location | pattern,
|  | int | patternLength
| ) |  |
| private

## ◆ parse() [1/3]

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.

## ◆ parse() [2/3]

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.

## ◆ 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&).

## ◆ pushError() [1/2]

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.

## ◆ pushError() [2/2]

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.

## ◆ readArray()

bool Json::Reader::readArray | ( | Token & | token | ) |
| private

## ◆ readComment()

bool Json::Reader::readComment | ( |  | ) |
| private

## ◆ readCppStyleComment()

bool Json::Reader::readCppStyleComment | ( |  | ) |
| private

## ◆ readCStyleComment()

bool Json::Reader::readCStyleComment | ( |  | ) |
| private

## ◆ readNumber()

void Json::Reader::readNumber | ( |  | ) |
| private

## ◆ readObject()

bool Json::Reader::readObject | ( | Token & | token | ) |
| private

## ◆ readString()

bool Json::Reader::readString | ( |  | ) |
| private

## ◆ readToken()

bool Json::Reader::readToken | ( | Token & | token | ) |
| private

## ◆ readValue()

bool Json::Reader::readValue | ( |  | ) |
| private

## ◆ recoverFromError()

bool Json::Reader::recoverFromError | ( | TokenType | skipUntilToken | ) |
| private

## ◆ skipCommentTokens()

void Json::Reader::skipCommentTokens | ( | Token & | token | ) |
| private

## ◆ skipSpaces()

void Json::Reader::skipSpaces | ( |  | ) |
| private

## ◆ skipUntilSpace()

void Json::Reader::skipUntilSpace | ( |  | ) |
| private

## Member Data Documentation

## ◆ begin_

Location Json::Reader::begin_
| private

## ◆ collectComments_

bool Json::Reader::collectComments_
| private

## ◆ commentsBefore_

std::string Json::Reader::commentsBefore_
| private

## ◆ current_

Location Json::Reader::current_
| private

## ◆ document_

std::string Json::Reader::document_
| private

## ◆ end_

Location Json::Reader::end_
| private

## ◆ errors_

Errors Json::Reader::errors_
| private

## ◆ features_

Features Json::Reader::features_
| private

## ◆ lastValue_

Value* Json::Reader::lastValue_
| private

## ◆ lastValueEnd_

Location Json::Reader::lastValueEnd_
| private

## ◆ nodes_

Nodes Json::Reader::nodes_
| private

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

- src/visualization/ParaViewCatalystIossAdapter/parser/jsoncpp-master/dist/json/json.h