JsonCpp project page JsonCpp home page

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  ValueAllocator
 Allocator to customize member name and string value memory management done by Value. More...
class  ValueIteratorBase
 Experimental and untested: base class for Value iterators. More...
class  ValueConstIterator
 Experimental and untested: const iterator for object and array value. More...
class  ValueIterator
 Experimental and untested: 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

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 }

Functions

std::istream & operator>> (std::istream &, Value &)
 Read from 'sin' into 'root'.
std::string JSON_API valueToString (Value::Int value)
std::string JSON_API valueToString (Value::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.
static bool in (Reader::Char c, Reader::Char c1, Reader::Char c2, Reader::Char c3, Reader::Char c4)
static bool in (Reader::Char c, Reader::Char c1, Reader::Char c2, Reader::Char c3, Reader::Char c4, Reader::Char c5)
static bool containsNewLine (Reader::Location begin, Reader::Location end)
static std::string codePointToUTF8 (unsigned int cp)
static ValueAllocator *& valueAllocator ()
static bool isControlCharacter (char ch)
static bool containsControlCharacter (const char *str)
static void uintToString (unsigned int value, char *&current)

Variables

static struct
Json::DummyValueAllocatorInitializer 
dummyValueAllocatorInitializer


Detailed Description

JSON (JavaScript Object Notation).


Enumeration Type Documentation

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 35 of file value.h.

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.


Function Documentation

static std::string Json::codePointToUTF8 ( unsigned int  cp  )  [static]

Definition at line 69 of file json_reader.cpp.

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

Definition at line 21 of file json_writer.cpp.

References isControlCharacter().

Referenced by valueToQuotedString().

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

Definition at line 60 of file json_reader.cpp.

static bool Json::in ( Reader::Char  c,
Reader::Char  c1,
Reader::Char  c2,
Reader::Char  c3,
Reader::Char  c4,
Reader::Char  c5 
) [inline, static]

Definition at line 53 of file json_reader.cpp.

static bool Json::in ( Reader::Char  c,
Reader::Char  c1,
Reader::Char  c2,
Reader::Char  c3,
Reader::Char  c4 
) [inline, static]

Definition at line 47 of file json_reader.cpp.

Referenced by Json::Value::isIntegral().

static bool Json::isControlCharacter ( char  ch  )  [static]

Definition at line 16 of file json_writer.cpp.

Referenced by containsControlCharacter(), and valueToQuotedString().

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

Output using the StyledStreamWriter.

See also:
Json::operator>>()

Definition at line 821 of file json_writer.cpp.

References Json::StyledStreamWriter::write().

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::exception on parse error.
See also:
Json::operator<<()

Definition at line 875 of file json_reader.cpp.

References Json::Reader::getFormatedErrorMessages(), and Json::Reader::parse().

static void Json::uintToString ( unsigned int  value,
char *&  current 
) [static]

Definition at line 30 of file json_writer.cpp.

Referenced by valueToString().

static ValueAllocator*& Json::valueAllocator (  )  [static]

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

Definition at line 111 of file json_writer.cpp.

References containsControlCharacter(), and isControlCharacter().

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

Definition at line 106 of file json_writer.cpp.

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

Definition at line 66 of file json_writer.cpp.

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

Definition at line 57 of file json_writer.cpp.

References uintToString().

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

Definition at line 42 of file json_writer.cpp.

References uintToString().


Variable Documentation

struct Json::DummyValueAllocatorInitializer Json::dummyValueAllocatorInitializer [static]


SourceForge Logo hosts this site. Send comments to:
Json-cpp Developers