Wt  3.7.1
Classes | Enumerations | Functions
JSON Library (Wt::Json)

A JSON representation and parsing library. More...

Classes

class  Wt::Json::Array
 A JSON array. More...
 
class  Wt::Json::Object
 A JSON object. More...
 
class  Wt::Json::ParseError
 A parse error. More...
 
class  Wt::Json::Value
 A JSON value. More...
 
class  Wt::Json::TypeException
 Exception that indicates a type error. More...
 

Enumerations

enum  Wt::Json::Type {
  Wt::Json::NullType, Wt::Json::StringType, Wt::Json::BoolType, Wt::Json::NumberType,
  Wt::Json::ObjectType, Wt::Json::ArrayType
}
 Enumeration for the type of a JSON value. More...
 

Functions

WT_API void Wt::Json::parse (const std::string &input, Value &result, bool validateUTF8=true)
 Parse function. More...
 
WT_API bool Wt::Json::parse (const std::string &input, Value &result, ParseError &error, bool validateUTF8=true)
 Parse function. More...
 
WT_API void Wt::Json::parse (const std::string &input, Object &result, bool validateUTF8=true)
 Parse function. More...
 
WT_API bool Wt::Json::parse (const std::string &input, Object &result, ParseError &error, bool validateUTF8=true)
 Parse function. More...
 
WT_API void Wt::Json::parse (const std::string &input, Array &result, bool validateUTF8=true)
 Parse function. More...
 
WT_API bool Wt::Json::parse (const std::string &input, Array &result, ParseError &error, bool validateUTF8=true)
 Parse function. More...
 
std::string WT_API Wt::Json::serialize (const Object &obj, int indentation=1)
 Serialization function for an Object. More...
 
std::string WT_API Wt::Json::serialize (const Array &arr, int indentation=1)
 Serialization function for an Array. More...
 

Detailed Description

A JSON representation and parsing library.

The JSON library contains data types to represent a JSON data structure (Value, Object and Array), a JSON parser, and a JSON serializer.

Usage example:

Json::Object result;
" \"a\": \"That's great\", "
" \"b\": true "
"}",
result);
std::cerr << "Size: " << result.size(); << std::endl; // Size: 2
WString s = result.get("a");
bool b = result.get("b");
std::cerr << "a: " << s << ", b: " << b << std::endl; // a: That's great, b: true

Include the <Wt/Json/Parser> header for Wt::Json::parse(), and the <Wt/Json/Serializer> header for Wt::Json::serialize().

Enumeration Type Documentation

◆ Type

Enumeration for the type of a JSON value.

See also
Value::type()
Enumerator
NullType 

"null" or missing value

StringType 

a (unicode) string

BoolType 

"true" or "false"

NumberType 

a number (integer or floating point)

ObjectType 

an Object

ArrayType 

an Array

Function Documentation

◆ parse() [1/6]

void Wt::Json::parse ( const std::string &  input,
Value result,
bool  validateUTF8 = true 
)

Parse function.

This function parses the input string (which represents a UTF-8 JSON-encoded data structure) into the result value. On success, the result value contains either an Array or Object.

If validateUTF8 is true, the parser will sanitize (security scan for invalid UTF-8) the UTF-8 input string before parsing starts.

Exceptions
ParseErrorwhen the input is not a correct JSON structure.

◆ parse() [2/6]

bool Wt::Json::parse ( const std::string &  input,
Value result,
ParseError error,
bool  validateUTF8 = true 
)

Parse function.

This function parses the input string (which represents a UTF-8 JSON-encoded data structure) into the result value. On success, the result value contains either an Array or Object.

If validateUTF8 is true, the parser will sanitize (security scan for invalid UTF-8) the UTF-8 input string before parsing starts.

This method returns true if the parse was succesful, or reports an error in into the error value otherwise.

◆ parse() [3/6]

void Wt::Json::parse ( const std::string &  input,
Object result,
bool  validateUTF8 = true 
)

Parse function.

This function parses the input string (which represents a UTF-8 JSON-encoded data structure) into the result object.

If validateUTF8 is true, the parser will sanitize (security scan for invalid UTF-8) the UTF-8 input string before parsing starts.

Exceptions
ParseErrorwhen the input is not a correct JSON structure.
TypeExceptionwhen the JSON structure does not represent an Object.

◆ parse() [4/6]

bool Wt::Json::parse ( const std::string &  input,
Object result,
ParseError error,
bool  validateUTF8 = true 
)

Parse function.

This function parses the input string (which represents a UTF-8 JSON-encoded data structure) into the result value. On success, the result value contains either an Array or Object.

If validateUTF8 is true, the parser will sanitize (security scan for invalid UTF-8) the UTF-8 input string before parsing starts.

This method returns true if the parse was succesful, or reports an error in into the error value otherwise.

◆ parse() [5/6]

void Wt::Json::parse ( const std::string &  input,
Array result,
bool  validateUTF8 = true 
)

Parse function.

This function parses the input string (which represents a UTF-8 JSON-encoded data structure) into the result object.

If validateUTF8 is true, the parser will sanitize (security scan for invalid UTF-8) the UTF-8 input string before parsing starts.

Exceptions
ParseErrorwhen the input is not a correct JSON structure.
TypeExceptionwhen the JSON structure does not represent an Object.

◆ parse() [6/6]

bool Wt::Json::parse ( const std::string &  input,
Array result,
ParseError error,
bool  validateUTF8 = true 
)

Parse function.

This function parses the input string (which represents a UTF-8 JSON-encoded data structure) into the result value. On success, the result value contains either an Array or Object.

If validateUTF8 is true, the parser will sanitize (security scan for invalid UTF-8) the UTF-8 input string before parsing starts.

This method returns true if the parse was succesful, or reports an error in into the error value otherwise.

◆ serialize() [1/2]

std::string Wt::Json::serialize ( const Object obj,
int  indentation = 1 
)

Serialization function for an Object.

Serializes a Object into a string. All unicode in the object is UTF-8 encoded in the output. The output is indented to make it readable. The indentation argument to this function is used in recursive calls and should not be set.

Exceptions
WExceptionwhen the trying to serialize a number which is a Nan

◆ serialize() [2/2]

std::string Wt::Json::serialize ( const Array arr,
int  indentation = 1 
)

Serialization function for an Array.

Serializes a Array into a string. All unicode in the object is UTF-8 encoded in the output. The output is indented to make it readable. The indentation argument to this function is used in recursive calls and should not be set.

Exceptions
WExceptionwhen the trying to serialize a number which is a Nan

Generated on Tue Dec 15 2020 for the C++ Web Toolkit (Wt) by doxygen 1.8.13