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

JSON (JavaScript Object Notation). More...

Classes

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  Reader
 Unserialize a JSON document into a Value. More...
class  StaticString
 Lightweight wrapper to tag static string. More...
class  Value
 Represents a JSON value. More...
class  PathArgument
 Experimental and untested: represents an element of the "path" to access a node. More...
class  Path
 Experimental and untested: represents a "path" to access a node. More...
class  ValueMapAllocator
 Allocator to customize Value internal map. Below is an example of a simple implementation (default implementation actually use memory pool for speed). More...
class  ValueInternalLink
 ValueInternalMap hash-map bucket chain link (for internal use only). More...
class  ValueInternalMap
 A linked page based hash-table implementation used internally by Value. More...
class  ValueInternalArray
 A simplified deque implementation used internally by Value. More...
class  ValueArrayAllocator
 Experimental: do not use. Allocator to customize Value internal array. Below is an example of a simple implementation (actual implementation use memory pool). More...
class  ValueIteratorBase
 base class for Value iterators. More...
class  ValueConstIterator
 const iterator for object and array value. More...
class  ValueIterator
 Iterator for object and array value. More...
class  Writer
 Abstract class for writers. More...
class  FastWriter
 Outputs a Value in JSON format without formatting (not human friendly). More...
class  StyledWriter
 Writes a Value in JSON format in a human friendly way. More...
class  StyledStreamWriter
 Writes a Value in JSON format in a human friendly way, to a stream rather than to a string. More...
class  BatchAllocator

Typedefs

typedef int Int
typedef unsigned int UInt
typedef int LargestInt
typedef unsigned int LargestUInt
typedef __int64 Int64
typedef unsigned __int64 UInt64
typedef unsigned int ArrayIndex
typedef char UIntToStringBuffer [uintToStringBufferSize]

Enumerations

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

Functions

std::istream & operator>> (std::istream &, Value &)
 Read from 'sin' into 'root'.
std::string JSON_API valueToString (Int value)
std::string JSON_API valueToString (UInt value)
std::string JSON_API valueToString (double value)
std::string JSON_API valueToString (bool value)
std::string JSON_API valueToQuotedString (const char *value)
std::ostream & operator<< (std::ostream &, const Value &root)
 Output using the StyledStreamWriter.
 isNull_ (true)

Variables

 __pad0__

Detailed Description

JSON (JavaScript Object Notation).


Typedef Documentation

typedef int Json::Int
typedef unsigned int Json::UInt
typedef long long int Json::Int64
typedef unsigned long long int Json::UInt64
typedef unsigned int Json::ArrayIndex

Enumeration Type Documentation

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

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 root value)

numberOfCommentPlacement 
anonymous enum
Enumerator:
uintToStringBufferSize 

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


Function Documentation

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:

    Json::Value root;
    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<<()
std::string Json::valueToString ( Int  value)
std::string Json::valueToString ( UInt  value)
std::string Json::valueToString ( double  value)
std::string Json::valueToString ( bool  value)
std::string Json::valueToQuotedString ( const char *  value)
std::ostream & Json::operator<< ( std::ostream &  sout,
const Value &  root 
)

Output using the StyledStreamWriter.

See also:
Json::operator>>()
Json::isNull_ ( true  )

Variable Documentation