Classes | Typedefs | Enumerations | Functions | Variables
Json Namespace Reference

JSON (JavaScript Object Notation). More...

Classes

struct  BuiltStyledStreamWriter
 
class  CharReader
 
class  CharReaderBuilder
 Build a CharReader implementation. More...
 
struct  CommentStyle
 Scoped enums are not available until C++11. More...
 
class  Exception
 
class  FastWriter
 Outputs a Value in JSON format without formatting (not human friendly). More...
 
class  Features
 Configuration passed to reader and writer. This configuration object can be used to force the Reader or Writer to behave in a standard conforming way. More...
 
class  LogicError
 
class  OurCharReader
 
class  OurFeatures
 
class  OurReader
 
class  Path
 Experimental and untested: represents a "path" to access a node. More...
 
class  PathArgument
 Experimental and untested: represents an element of the "path" to access a node. More...
 
class  Reader
 Unserialize a JSON document into a Value. More...
 
class  RuntimeError
 
class  StaticString
 Lightweight wrapper to tag static string. More...
 
class  StreamWriter
 
class  StreamWriterBuilder
 Build a StreamWriter implementation. More...
 
class  StyledStreamWriter
 Writes a Value in JSON format in a human friendly way, to a stream rather than to a string. More...
 
class  StyledWriter
 Writes a Value in JSON format in a human friendly way. More...
 
class  Value
 Represents a JSON value. More...
 
class  ValueConstIterator
 const iterator for object and array value. More...
 
class  ValueIterator
 Iterator for object and array value. More...
 
class  ValueIteratorBase
 base class for Value iterators. More...
 
class  Writer
 Abstract class for writers. More...
 

Typedefs

typedef unsigned int ArrayIndex
 
typedef std::auto_ptr< CharReaderCharReaderPtr
 
typedef int Int
 
typedef long long int Int64
 
typedef Int64 LargestInt
 
typedef UInt64 LargestUInt
 
typedef std::auto_ptr< StreamWriterStreamWriterPtr
 
typedef unsigned int UInt
 
typedef unsigned long long int UInt64
 
typedef char UIntToStringBuffer[uintToStringBufferSize]
 

Enumerations

enum  { uintToStringBufferSize = 3 * sizeof(LargestUInt) + 1 }
 
enum  { uintToStringBufferSize = 3 * sizeof(LargestUInt) + 1 }
 
enum  CommentPlacement {
  commentBefore = 0, commentAfterOnSameLine, commentAfter, numberOfCommentPlacement,
  commentBefore = 0, commentAfterOnSameLine, commentAfter, numberOfCommentPlacement
}
 
enum  CommentPlacement {
  commentBefore = 0, commentAfterOnSameLine, commentAfter, numberOfCommentPlacement,
  commentBefore = 0, commentAfterOnSameLine, commentAfter, numberOfCommentPlacement
}
 
enum  ValueType {
  nullValue = 0, intValue, uintValue, realValue,
  stringValue, booleanValue, arrayValue, objectValue,
  nullValue = 0, intValue, uintValue, realValue,
  stringValue, booleanValue, arrayValue, objectValue
}
 Type of the value held by a Value object. More...
 
enum  ValueType {
  nullValue = 0, intValue, uintValue, realValue,
  stringValue, booleanValue, arrayValue, objectValue,
  nullValue = 0, intValue, uintValue, realValue,
  stringValue, booleanValue, arrayValue, objectValue
}
 Type of the value held by a Value object. More...
 

Functions

static const unsigned char ALIGNAS (8) kNull[sizeof(Value)]
 
static const unsigned char ALIGNAS (8) kNull[sizeof(Value)]
 
static std::string codePointToUTF8 (unsigned int cp)
 Converts a unicode code-point to UTF-8. More...
 
static std::string codePointToUTF8 (unsigned int cp)
 Converts a unicode code-point to UTF-8. More...
 
static bool containsControlCharacter (const char *str)
 
static bool containsControlCharacter (const char *str)
 
static bool containsControlCharacter0 (const char *str, unsigned len)
 
static bool containsControlCharacter0 (const char *str, unsigned len)
 
static bool containsNewLine (Reader::Location begin, Reader::Location end)
 
static bool containsNewLine (Reader::Location begin, Reader::Location end)
 
static void decodePrefixedString (bool isPrefixed, char const *prefixed, unsigned *length, char const **value)
 
static void decodePrefixedString (bool isPrefixed, char const *prefixed, unsigned *length, char const **value)
 
static char * duplicateAndPrefixStringValue (const char *value, unsigned int length)
 
static char * duplicateAndPrefixStringValue (const char *value, unsigned int length)
 
static char * duplicateStringValue (const char *value, size_t length)
 
static char * duplicateStringValue (const char *value, size_t length)
 
static void fixNumericLocale (char *begin, char *end)
 
static void fixNumericLocale (char *begin, char *end)
 
static void getValidReaderKeys (std::set< std::string > *valid_keys)
 
static void getValidReaderKeys (std::set< std::string > *valid_keys)
 
static void getValidWriterKeys (std::set< std::string > *valid_keys)
 
static void getValidWriterKeys (std::set< std::string > *valid_keys)
 
template<typename T , typename U >
static bool InRange (double d, T min, U max)
 
template<typename T , typename U >
static bool InRange (double d, T min, U max)
 
static bool isControlCharacter (char ch)
 Returns true if ch is a control character (in range [1,31]). More...
 
static bool isControlCharacter (char ch)
 Returns true if ch is a control character (in range [1,31]). More...
 
static bool IsIntegral (double d)
 
static bool IsIntegral (double d)
 
static std::string normalizeEOL (Reader::Location begin, Reader::Location end)
 
static std::string normalizeEOL (Reader::Location begin, Reader::Location end)
 
JSON_API std::ostream & operator<< (std::ostream &, const Value &root)
 Output using the StyledStreamWriter. More...
 
JSON_API std::istream & operator>> (std::istream &, Value &)
 Read from 'sin' into 'root'. More...
 
bool JSON_API parseFromStream (CharReader::Factory const &, std::istream &, Value *root, std::string *errs)
 
static void releaseStringValue (char *value)
 
static void releaseStringValue (char *value)
 
static char conststrnpbrk (char const *s, char const *accept, size_t n)
 
static char conststrnpbrk (char const *s, char const *accept, size_t n)
 
void throwLogicError (std::string const &msg)
 used internally More...
 
void throwRuntimeError (std::string const &msg)
 used internally More...
 
static void uintToString (LargestUInt value, char *&current)
 
static void uintToString (LargestUInt value, char *&current)
 
std::string JSON_API valueToQuotedString (const char *value)
 
static std::string valueToQuotedStringN (const char *value, unsigned length)
 
static std::string valueToQuotedStringN (const char *value, unsigned length)
 
std::string JSON_API valueToString (bool value)
 
std::string JSON_API valueToString (double value)
 
std::string valueToString (double value, bool useSpecialFloats, unsigned int precision)
 
std::string JSON_API valueToString (Int value)
 
std::string JSON_API valueToString (LargestInt value)
 
std::string JSON_API valueToString (LargestUInt value)
 
std::string JSON_API valueToString (UInt value)
 
std::string JSON_API writeString (StreamWriter::Factory const &factory, Value const &root)
 Write into stringstream, then return string, for convenience. A StreamWriter will be created from the factory, used, and then deleted. More...
 

Variables

const unsigned char & kNullRef = kNull[0]
 

Detailed Description

JSON (JavaScript Object Notation).

Typedef Documentation

◆ ArrayIndex

typedef unsigned int Json::ArrayIndex

◆ CharReaderPtr

typedef std::auto_ptr< CharReader > Json::CharReaderPtr

◆ Int

typedef int Json::Int

◆ Int64

◆ LargestInt

◆ LargestUInt

◆ StreamWriterPtr

typedef std::auto_ptr< StreamWriter > Json::StreamWriterPtr

◆ UInt

typedef unsigned int Json::UInt

◆ UInt64

typedef unsigned long long int Json::UInt64

◆ UIntToStringBuffer

typedef char Json::UIntToStringBuffer

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
uintToStringBufferSize 

Constant that specify the size of the buffer that must be passed to uintToString.

Definition at line 135 of file bloaty/third_party/protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ anonymous enum

anonymous enum
Enumerator
uintToStringBufferSize 

Constant that specify the size of the buffer that must be passed to uintToString.

Definition at line 135 of file protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ CommentPlacement [1/2]

Enumerator
commentBefore 

a comment placed on the line before a value

commentAfterOnSameLine 

a comment just after a value on the same line

commentAfter 

a comment on the line after a value (only make sense for

numberOfCommentPlacement 

root value)

commentBefore 

a comment placed on the line before a value

commentAfterOnSameLine 

a comment just after a value on the same line

commentAfter 

a comment on the line after a value (only make sense for

numberOfCommentPlacement 

root value)

Definition at line 474 of file third_party/protobuf/conformance/third_party/jsoncpp/json.h.

◆ CommentPlacement [2/2]

Enumerator
commentBefore 

a comment placed on the line before a value

commentAfterOnSameLine 

a comment just after a value on the same line

commentAfter 

a comment on the line after a value (only make sense for

numberOfCommentPlacement 

root value)

commentBefore 

a comment placed on the line before a value

commentAfterOnSameLine 

a comment just after a value on the same line

commentAfter 

a comment on the line after a value (only make sense for

numberOfCommentPlacement 

root value)

Definition at line 474 of file third_party/bloaty/third_party/protobuf/conformance/third_party/jsoncpp/json.h.

◆ ValueType [1/2]

Type of the value held by a Value object.

Enumerator
nullValue 

'null' value

intValue 

signed integer value

uintValue 

unsigned integer value

realValue 

double value

stringValue 

UTF-8 string value.

booleanValue 

bool value

arrayValue 

array value (ordered list)

objectValue 

object value (collection of name/value pairs).

nullValue 

'null' value

intValue 

signed integer value

uintValue 

unsigned integer value

realValue 

double value

stringValue 

UTF-8 string value.

booleanValue 

bool value

arrayValue 

array value (ordered list)

objectValue 

object value (collection of name/value pairs).

Definition at line 463 of file third_party/protobuf/conformance/third_party/jsoncpp/json.h.

◆ ValueType [2/2]

Type of the value held by a Value object.

Enumerator
nullValue 

'null' value

intValue 

signed integer value

uintValue 

unsigned integer value

realValue 

double value

stringValue 

UTF-8 string value.

booleanValue 

bool value

arrayValue 

array value (ordered list)

objectValue 

object value (collection of name/value pairs).

nullValue 

'null' value

intValue 

signed integer value

uintValue 

unsigned integer value

realValue 

double value

stringValue 

UTF-8 string value.

booleanValue 

bool value

arrayValue 

array value (ordered list)

objectValue 

object value (collection of name/value pairs).

Definition at line 463 of file third_party/bloaty/third_party/protobuf/conformance/third_party/jsoncpp/json.h.

Function Documentation

◆ ALIGNAS() [1/2]

static const unsigned char Json::ALIGNAS ( )
static

◆ ALIGNAS() [2/2]

static const unsigned char Json::ALIGNAS ( )
static

◆ codePointToUTF8() [1/2]

static std::string Json::codePointToUTF8 ( unsigned int  cp)
inlinestatic

Converts a unicode code-point to UTF-8.

Definition at line 104 of file protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ codePointToUTF8() [2/2]

static std::string Json::codePointToUTF8 ( unsigned int  cp)
inlinestatic

Converts a unicode code-point to UTF-8.

Definition at line 104 of file bloaty/third_party/protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ containsControlCharacter() [1/2]

static bool Json::containsControlCharacter ( const char *  str)
static

◆ containsControlCharacter() [2/2]

static bool Json::containsControlCharacter ( const char *  str)
static

◆ containsControlCharacter0() [1/2]

static bool Json::containsControlCharacter0 ( const char *  str,
unsigned  len 
)
static

◆ containsControlCharacter0() [2/2]

static bool Json::containsControlCharacter0 ( const char *  str,
unsigned  len 
)
static

◆ containsNewLine() [1/2]

static bool Json::containsNewLine ( Reader::Location  begin,
Reader::Location  end 
)
static

◆ containsNewLine() [2/2]

static bool Json::containsNewLine ( Reader::Location  begin,
Reader::Location  end 
)
static

◆ decodePrefixedString() [1/2]

static void Json::decodePrefixedString ( bool  isPrefixed,
char const prefixed,
unsigned *  length,
char const **  value 
)
inlinestatic

◆ decodePrefixedString() [2/2]

static void Json::decodePrefixedString ( bool  isPrefixed,
char const prefixed,
unsigned *  length,
char const **  value 
)
inlinestatic

◆ duplicateAndPrefixStringValue() [1/2]

static char* Json::duplicateAndPrefixStringValue ( const char *  value,
unsigned int  length 
)
inlinestatic

◆ duplicateAndPrefixStringValue() [2/2]

static char* Json::duplicateAndPrefixStringValue ( const char *  value,
unsigned int  length 
)
inlinestatic

◆ duplicateStringValue() [1/2]

static char* Json::duplicateStringValue ( const char *  value,
size_t  length 
)
inlinestatic

Duplicates the specified string value.

Parameters
valuePointer to the string to duplicate. Must be zero-terminated if length is "unknown".
lengthLength of the value. if equals to unknown, then it will be computed using strlen(value).
Returns
Pointer on the duplicate instance of string.

Definition at line 2496 of file protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ duplicateStringValue() [2/2]

static char* Json::duplicateStringValue ( const char *  value,
size_t  length 
)
inlinestatic

Duplicates the specified string value.

Parameters
valuePointer to the string to duplicate. Must be zero-terminated if length is "unknown".
lengthLength of the value. if equals to unknown, then it will be computed using strlen(value).
Returns
Pointer on the duplicate instance of string.

Definition at line 2496 of file bloaty/third_party/protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ fixNumericLocale() [1/2]

static void Json::fixNumericLocale ( char *  begin,
char *  end 
)
inlinestatic

Change ',' to '.' everywhere in buffer.

We had a sophisticated way, but it did not work in WinCE.

See also
https://github.com/open-source-parsers/jsoncpp/pull/9

Definition at line 162 of file bloaty/third_party/protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ fixNumericLocale() [2/2]

static void Json::fixNumericLocale ( char *  begin,
char *  end 
)
inlinestatic

Change ',' to '.' everywhere in buffer.

We had a sophisticated way, but it did not work in WinCE.

See also
https://github.com/open-source-parsers/jsoncpp/pull/9

Definition at line 162 of file protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ getValidReaderKeys() [1/2]

static void Json::getValidReaderKeys ( std::set< std::string > *  valid_keys)
static

◆ getValidReaderKeys() [2/2]

static void Json::getValidReaderKeys ( std::set< std::string > *  valid_keys)
static

◆ getValidWriterKeys() [1/2]

static void Json::getValidWriterKeys ( std::set< std::string > *  valid_keys)
static

◆ getValidWriterKeys() [2/2]

static void Json::getValidWriterKeys ( std::set< std::string > *  valid_keys)
static

◆ InRange() [1/2]

template<typename T , typename U >
static bool Json::InRange ( double  d,
T  min,
max 
)
inlinestatic

◆ InRange() [2/2]

template<typename T , typename U >
static bool Json::InRange ( double  d,
T  min,
max 
)
inlinestatic

◆ isControlCharacter() [1/2]

static bool Json::isControlCharacter ( char  ch)
inlinestatic

Returns true if ch is a control character (in range [1,31]).

Definition at line 133 of file protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ isControlCharacter() [2/2]

static bool Json::isControlCharacter ( char  ch)
inlinestatic

Returns true if ch is a control character (in range [1,31]).

Definition at line 133 of file bloaty/third_party/protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ IsIntegral() [1/2]

static bool Json::IsIntegral ( double  d)
static

◆ IsIntegral() [2/2]

static bool Json::IsIntegral ( double  d)
static

◆ normalizeEOL() [1/2]

static std::string Json::normalizeEOL ( Reader::Location  begin,
Reader::Location  end 
)
static

◆ normalizeEOL() [2/2]

static std::string Json::normalizeEOL ( Reader::Location  begin,
Reader::Location  end 
)
static

◆ operator<<()

std::ostream & Json::operator<< ( std::ostream &  sout,
const Value root 
)

◆ operator>>()

std::istream & Json::operator>> ( std::istream &  sin,
Value root 
)

Read from 'sin' into 'root'.

Always keep comments from the input JSON.

This can be used to read a file into a particular sub-object. For example:

cin >> root["dir"]["file"];
cout << root;

Result:

{
"dir": {
    "file": {
    // The input stream JSON would be nested here.
    }
}
}
Exceptions
std::exceptionon parse error.
See also
Json::operator<<()

Definition at line 2205 of file bloaty/third_party/protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ parseFromStream()

bool Json::parseFromStream ( CharReader::Factory const fact,
std::istream &  sin,
Value root,
std::string *  errs 
)

Consume entire stream and use its begin/end. Someday we might have a real StreamReader, but for now this is convenient.

Definition at line 2191 of file bloaty/third_party/protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ releaseStringValue() [1/2]

static void Json::releaseStringValue ( char *  value)
inlinestatic

Free the string duplicated by duplicateStringValue()/duplicateAndPrefixStringValue().

Definition at line 2551 of file protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ releaseStringValue() [2/2]

static void Json::releaseStringValue ( char *  value)
inlinestatic

Free the string duplicated by duplicateStringValue()/duplicateAndPrefixStringValue().

Definition at line 2551 of file bloaty/third_party/protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ strnpbrk() [1/2]

static char const* Json::strnpbrk ( char const s,
char const accept,
size_t  n 
)
static

◆ strnpbrk() [2/2]

static char const* Json::strnpbrk ( char const s,
char const accept,
size_t  n 
)
static

◆ throwLogicError()

void Json::throwLogicError ( std::string const msg)

◆ throwRuntimeError()

void Json::throwRuntimeError ( std::string const msg)

◆ uintToString() [1/2]

static void Json::uintToString ( LargestUInt  value,
char *&  current 
)
inlinestatic

Converts an unsigned integer to string.

Parameters
valueUnsigned interger to convert to string
currentInput/Output string buffer. Must have at least uintToStringBufferSize chars free.

Definition at line 149 of file bloaty/third_party/protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ uintToString() [2/2]

static void Json::uintToString ( LargestUInt  value,
char *&  current 
)
inlinestatic

Converts an unsigned integer to string.

Parameters
valueUnsigned integer to convert to string
currentInput/Output string buffer. Must have at least uintToStringBufferSize chars free.

Definition at line 149 of file protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

◆ valueToQuotedString()

std::string Json::valueToQuotedString ( const char *  value)

◆ valueToQuotedStringN() [1/2]

static std::string Json::valueToQuotedStringN ( const char *  value,
unsigned  length 
)
static

◆ valueToQuotedStringN() [2/2]

static std::string Json::valueToQuotedStringN ( const char *  value,
unsigned  length 
)
static

◆ valueToString() [1/7]

std::string Json::valueToString ( bool  value)

◆ valueToString() [2/7]

std::string Json::valueToString ( double  value)

◆ valueToString() [3/7]

std::string Json::valueToString ( double  value,
bool  useSpecialFloats,
unsigned int  precision 
)

◆ valueToString() [4/7]

std::string JSON_API Json::valueToString ( Int  value)

◆ valueToString() [5/7]

std::string Json::valueToString ( LargestInt  value)

◆ valueToString() [6/7]

std::string Json::valueToString ( LargestUInt  value)

◆ valueToString() [7/7]

std::string JSON_API Json::valueToString ( UInt  value)

◆ writeString()

std::string Json::writeString ( StreamWriter::Factory const factory,
Value const root 
)

Write into stringstream, then return string, for convenience. A StreamWriter will be created from the factory, used, and then deleted.

Definition at line 5169 of file bloaty/third_party/protobuf/conformance/third_party/jsoncpp/jsoncpp.cpp.

Variable Documentation

◆ kNullRef

const unsigned char & Json::kNullRef = kNull[0]
root
RefCountedPtr< grpc_tls_certificate_provider > root
Definition: xds_server_config_fetcher.cc:223
Json::Value
Represents a JSON value.
Definition: third_party/bloaty/third_party/protobuf/conformance/third_party/jsoncpp/json.h:547


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:40