CMS 3D CMS Logo

Classes | Typedefs | Enumerations | Functions
Json Namespace Reference

JSON (JavaScript Object Notation). More...

Classes

class  BatchAllocator
 
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  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  StaticString
 Lightweight wrapper to tag static string. 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  ValueAllocator
 Experimental do not use: Allocator to customize member name and string value memory management done by 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 int Int
 
typedef unsigned int UInt
 

Enumerations

enum  CommentPlacement { commentBefore = 0, commentAfterOnSameLine, commentAfter, numberOfCommentPlacement }
 
enum  ValueType {
  nullValue = 0, intValue, uintValue, realValue,
  stringValue, booleanValue, arrayValue, objectValue
}
 Type of the value held by a Value object. More...
 

Functions

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

Detailed Description

JSON (JavaScript Object Notation).

Typedef Documentation

◆ Int

typedef int Json::Int

Definition at line 16 of file forwards.h.

◆ UInt

typedef unsigned int Json::UInt

Definition at line 20 of file forwards.h.

Enumeration Type Documentation

◆ CommentPlacement

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 

Definition at line 34 of file value.h.

34  {
35  commentBefore = 0,
37  commentAfter,
39  };
a comment placed on the line before a value
Definition: value.h:35
a comment just after a value on the same line
Definition: value.h:36
a comment on the line after a value (only make sense for root value)
Definition: value.h:37

◆ ValueType

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

Definition at line 23 of file value.h.

23  {
24  nullValue = 0,
25  intValue,
26  uintValue,
27  realValue,
28  stringValue,
29  booleanValue,
30  arrayValue,
32  };
unsigned integer value
Definition: value.h:26
double value
Definition: value.h:27
signed integer value
Definition: value.h:25
object value (collection of name/value pairs).
Definition: value.h:31
bool value
Definition: value.h:29
&#39;null&#39; value
Definition: value.h:24
UTF-8 string value.
Definition: value.h:28
array value (ordered list)
Definition: value.h:30

Function Documentation

◆ operator<<()

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

Output using the StyledStreamWriter.

See also
Json::operator>>()

◆ operator>>()

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

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"];

Result:

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

◆ valueToQuotedString()

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

◆ valueToString() [1/4]

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

◆ valueToString() [2/4]

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

◆ valueToString() [3/4]

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

◆ valueToString() [4/4]

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