|
template<typename T , typename U > |
bool | operator== (const SecureAllocator< T > &, const SecureAllocator< U > &) |
|
template<typename T , typename U > |
bool | operator!= (const SecureAllocator< T > &, const SecureAllocator< U > &) |
|
class | __declspec (deprecated("Use CharReader and CharReaderBuilder instead.")) Reader |
| Unserialize a JSON document into a Value. More...
|
|
bool | parseFromStream (CharReader::Factory const &, IStream &, Value *root, String *errs) |
| Consume entire stream and use its begin/end. More...
|
|
IStream & | operator>> (IStream &, Value &) |
| Read from 'sin' into 'root'. More...
|
|
| __declspec (noreturn) void throwRuntimeError(String const &msg) |
| used internally More...
|
|
void | swap (Value &a, Value &b) |
|
String | writeString (StreamWriter::Factory const &factory, Value const &root) |
| Write into stringstream, then return string, for convenience. More...
|
|
class | __declspec (deprecated("Use StreamWriter instead")) Writer |
| Abstract class for writers. More...
|
|
class __declspec(deprecated("Use StreamWriterBuilder instead")) FastWriter class __declspec(deprecated("Use StreamWriterBuilder instead")) StyledWriter class | __declspec (deprecated("Use StreamWriterBuilder instead")) StyledStreamWriter |
| Outputs a Value in JSON format without formatting (not human friendly). More...
|
|
String | valueToString (Int value) |
|
String | valueToString (UInt value) |
|
String | valueToString (LargestInt value) |
|
String | valueToString (LargestUInt value) |
|
String | valueToString (double value, unsigned int precision=Value::defaultRealPrecision, PrecisionType precisionType=PrecisionType::significantDigits) |
|
String | valueToString (bool value) |
|
String | valueToQuotedString (const char *value) |
|
OStream & | operator<< (OStream &, const Value &root) |
| Output using the StyledStreamWriter. More...
|
|
static char | getDecimalPoint () |
|
static String | codePointToUTF8 (unsigned int cp) |
| Converts a unicode code-point to UTF-8. More...
|
|
static void | uintToString (LargestUInt value, char *¤t) |
| Converts an unsigned integer to string. More...
|
|
template<typename Iter > |
Iter | fixNumericLocale (Iter begin, Iter end) |
| Change ',' to '. More...
|
|
template<typename Iter > |
void | fixNumericLocaleInput (Iter begin, Iter end) |
|
template<typename Iter > |
Iter | fixZerosInTheEnd (Iter begin, Iter end, unsigned int precision) |
| Return iterator that would be the new end of the range [begin,end), if we were to delete zeros in the end of string, but not the last zero before '. More...
|
|
template<typename T > |
static std::unique_ptr< T > | cloneUnique (const std::unique_ptr< T > &p) |
|
template<typename T , typename U > |
static bool | InRange (double d, T min, U max) |
|
static char * | duplicateStringValue (const char *value, size_t length) |
| Duplicates the specified string value. More...
|
|
static char * | duplicateAndPrefixStringValue (const char *value, unsigned int length) |
|
static void | decodePrefixedString (bool isPrefixed, char const *prefixed, unsigned *length, char const **value) |
|
static void | releasePrefixedStringValue (char *value) |
| Free the string duplicated by duplicateStringValue()/duplicateAndPrefixStringValue(). More...
|
|
static void | releaseStringValue (char *value, unsigned) |
|
static bool | IsIntegral (double d) |
|
static bool | doesAnyCharRequireEscaping (char const *s, size_t n) |
|
static unsigned int | utf8ToCodepoint (const char *&s, const char *e) |
|
static String | toHex16Bit (unsigned int x) |
|
static void | appendRaw (String &result, unsigned ch) |
|
static void | appendHex (String &result, unsigned ch) |
|
static String | valueToQuotedStringN (const char *value, unsigned length, bool emitUTF8=false) |
|
JSON (JavaScript Object Notation).
Unserialize a JSON document into a Value.
- Deprecated:
- Use CharReader and CharReaderBuilder.
An error tagged with where in the JSON text it was encountered.
The offsets give the [start, limit) range of bytes within the text. Note that this is bytes, not codepoints.
Constructs a Reader allowing all features for parsing.
Constructs a Reader allowing the specified feature set for parsing.
Read a Value from a JSON document.
- Parameters
-
| document | UTF-8 encoded string containing the document to read. |
[out] | root | 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.
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. |
[out] | root | 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 from input stream.
- See also
- Json::operator>>(std::istream&, Json::Value&).
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).
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.
Returns a vector of structured errors encountered 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.
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.
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.
Return whether there are any errors.
- Returns
true
if there are no errors to report false
if errors have occurred.
Outputs a Value in JSON format without formatting (not human friendly).
The JSON document is written in a single line. It is not intended for 'human' consumption, but may be useful to support feature such as RPC where bandwidth is limited.
- See also
- Reader, Value
- Deprecated:
- Use StreamWriterBuilder.
Writes a Value in JSON format in a human friendly way.
The rules for line break and indent are as follow:
- Object value:
- if empty then print {} without indent and line break
- if not empty the print '{', line break & indent, print one value per line and then unindent and line break and print '}'.
- Array value:
- if empty then print [] without indent and line break
- if the array contains no object value, empty array or some other value types, and all the values fit on one lines, then print the array on a single line.
- otherwise, it the values do not fit on one line, or the array contains object or non empty array, then print one value per line.
If the Value have comments then they are outputed according to their CommentPlacement.
- See also
- Reader, Value, Value::setComment()
- Deprecated:
- Use StreamWriterBuilder.
Writes a Value in JSON format in a human friendly way, to a stream rather than to a string.
The rules for line break and indent are as follow:
- Object value:
- if empty then print {} without indent and line break
- if not empty the print '{', line break & indent, print one value per line and then unindent and line break and print '}'.
- Array value:
- if empty then print [] without indent and line break
- if the array contains no object value, empty array or some other value types, and all the values fit on one lines, then print the array on a single line.
- otherwise, it the values do not fit on one line, or the array contains object or non empty array, then print one value per line.
If the Value have comments then they are outputed according to their CommentPlacement.
- See also
- Reader, Value, Value::setComment()
- Deprecated:
- Use StreamWriterBuilder.
- Parameters
-
indentation | Each level will be indented by this amount extra. |
Serialize a Value in JSON format.
- Parameters
-
out | Stream to write to. (Can be ostringstream, e.g.) |
root | Value to serialize. |
- Note
- There is no point in deriving from Writer, since write() should not return a value.