aws-crt-cpp
Public Member Functions | Friends | List of all members
Aws::Crt::JsonObject Class Reference

#include <JsonObject.h>

Public Member Functions

 JsonObject ()
 
 JsonObject (const String &value)
 
 JsonObject (const JsonObject &value)
 
 JsonObject (JsonObject &&value) noexcept
 
 ~JsonObject ()
 
JsonObjectoperator= (const JsonObject &other)
 
JsonObjectoperator= (JsonObject &&other) noexcept
 
bool operator== (const JsonObject &other) const
 
bool operator!= (const JsonObject &other) const
 
JsonObjectWithString (const String &key, const String &value)
 
JsonObjectWithString (const char *key, const String &value)
 
JsonObjectAsString (const String &value)
 
JsonObjectWithBool (const String &key, bool value)
 
JsonObjectWithBool (const char *key, bool value)
 
JsonObjectAsBool (bool value)
 
JsonObjectWithInteger (const String &key, int value)
 
JsonObjectWithInteger (const char *key, int value)
 
JsonObjectAsInteger (int value)
 
JsonObjectWithInt64 (const String &key, int64_t value)
 
JsonObjectWithInt64 (const char *key, int64_t value)
 
JsonObjectAsInt64 (int64_t value)
 
JsonObjectWithDouble (const String &key, double value)
 
JsonObjectWithDouble (const char *key, double value)
 
JsonObjectAsDouble (double value)
 
JsonObjectWithArray (const String &key, const Vector< String > &array)
 
JsonObjectWithArray (const char *key, const Vector< String > &array)
 
JsonObjectWithArray (const String &key, const Vector< JsonObject > &array)
 
JsonObjectWithArray (const String &key, Vector< JsonObject > &&array)
 
JsonObjectAsArray (const Vector< JsonObject > &array)
 
JsonObjectAsArray (Vector< JsonObject > &&array)
 
JsonObjectAsNull ()
 
JsonObjectWithObject (const String &key, const JsonObject &value)
 
JsonObjectWithObject (const char *key, const JsonObject &value)
 
JsonObjectWithObject (const String &key, JsonObject &&value)
 
JsonObjectWithObject (const char *key, JsonObject &&value)
 
JsonObjectAsObject (const JsonObject &value)
 
JsonObjectAsObject (JsonObject &&value)
 
bool WasParseSuccessful () const
 
const StringGetErrorMessage () const
 
JsonView View () const
 

Friends

class JsonView
 

Detailed Description

JSON DOM manipulation class. To read or serialize use View function.

Constructor & Destructor Documentation

◆ JsonObject() [1/4]

Aws::Crt::JsonObject::JsonObject ( )

Constructs empty JSON DOM.

◆ JsonObject() [2/4]

Aws::Crt::JsonObject::JsonObject ( const String value)

Constructs a JSON DOM by parsing the input string.

◆ JsonObject() [3/4]

Aws::Crt::JsonObject::JsonObject ( const JsonObject value)

Performs a deep copy of the JSON DOM parameter. Prefer using a JsonView if copying is not needed.

◆ JsonObject() [4/4]

Aws::Crt::JsonObject::JsonObject ( JsonObject &&  value)
noexcept

Moves the ownership of the internal JSON DOM. No copying is performed.

◆ ~JsonObject()

Aws::Crt::JsonObject::~JsonObject ( )

Member Function Documentation

◆ AsArray() [1/2]

JsonObject & Aws::Crt::JsonObject::AsArray ( const Vector< JsonObject > &  array)

Converts the current JSON node to an array whose values are deep-copied from the array parameter.

◆ AsArray() [2/2]

JsonObject & Aws::Crt::JsonObject::AsArray ( Vector< JsonObject > &&  array)

Converts the current JSON node to an array whose values are moved from the array parameter.

◆ AsBool()

JsonObject & Aws::Crt::JsonObject::AsBool ( bool  value)

Converts the current JSON node to a bool.

◆ AsDouble()

JsonObject & Aws::Crt::JsonObject::AsDouble ( double  value)

Converts the current JSON node to a double.

◆ AsInt64()

JsonObject & Aws::Crt::JsonObject::AsInt64 ( int64_t  value)

Converts the current JSON node to a 64-bit integer.

◆ AsInteger()

JsonObject & Aws::Crt::JsonObject::AsInteger ( int  value)

Converts the current JSON node to an integer.

◆ AsNull()

JsonObject & Aws::Crt::JsonObject::AsNull ( )

Sets the current JSON node as null.

◆ AsObject() [1/2]

JsonObject & Aws::Crt::JsonObject::AsObject ( const JsonObject value)

Converts the current JSON node to a JSON object by deep-copying the parameter.

◆ AsObject() [2/2]

JsonObject & Aws::Crt::JsonObject::AsObject ( JsonObject &&  value)

Converts the current JSON node to a JSON object by moving from the parameter.

◆ AsString()

JsonObject & Aws::Crt::JsonObject::AsString ( const String value)

Converts the current JSON node to a string.

◆ GetErrorMessage()

const String& Aws::Crt::JsonObject::GetErrorMessage ( ) const
inline

Returns the last error message from a failed parse attempt. Returns empty string if no error.

◆ operator!=()

bool Aws::Crt::JsonObject::operator!= ( const JsonObject other) const

◆ operator=() [1/2]

JsonObject & Aws::Crt::JsonObject::operator= ( const JsonObject other)

Performs a deep copy of the JSON DOM parameter.

◆ operator=() [2/2]

JsonObject & Aws::Crt::JsonObject::operator= ( JsonObject &&  other)
noexcept

Moves the ownership of the internal JSON DOM of the parameter to the current object. No copying is performed. A DOM currently owned by the object will be freed prior to copying.

Warning
This will result in invalidating any outstanding views of the current DOM. However, views to the moved-from DOM would still valid.

◆ operator==()

bool Aws::Crt::JsonObject::operator== ( const JsonObject other) const

◆ View()

JsonView Aws::Crt::JsonObject::View ( ) const

Creates a view from the current root JSON node.

◆ WasParseSuccessful()

bool Aws::Crt::JsonObject::WasParseSuccessful ( ) const
inline

Returns true if the last parse request was successful. If this returns false, you can call GetErrorMessage() to find the cause.

◆ WithArray() [1/4]

JsonObject & Aws::Crt::JsonObject::WithArray ( const char *  key,
const Vector< String > &  array 
)

◆ WithArray() [2/4]

JsonObject & Aws::Crt::JsonObject::WithArray ( const String key,
const Vector< JsonObject > &  array 
)

Adds an array of arbitrary JSON objects to the top level of this node at key. The values in the array parameter will be deep-copied.

◆ WithArray() [3/4]

JsonObject & Aws::Crt::JsonObject::WithArray ( const String key,
const Vector< String > &  array 
)

Adds an array of strings to the top level of this node at key.

◆ WithArray() [4/4]

JsonObject & Aws::Crt::JsonObject::WithArray ( const String key,
Vector< JsonObject > &&  array 
)

Adds an array of arbitrary JSON objects to the top level of this node at key. The values in the array parameter will be moved-from.

◆ WithBool() [1/2]

JsonObject & Aws::Crt::JsonObject::WithBool ( const char *  key,
bool  value 
)

◆ WithBool() [2/2]

JsonObject & Aws::Crt::JsonObject::WithBool ( const String key,
bool  value 
)

Adds a bool value with key to the top level of this node.

◆ WithDouble() [1/2]

JsonObject & Aws::Crt::JsonObject::WithDouble ( const char *  key,
double  value 
)

◆ WithDouble() [2/2]

JsonObject & Aws::Crt::JsonObject::WithDouble ( const String key,
double  value 
)

Adds a double value at key at the top level of this node.

◆ WithInt64() [1/2]

JsonObject & Aws::Crt::JsonObject::WithInt64 ( const char *  key,
int64_t  value 
)

◆ WithInt64() [2/2]

JsonObject & Aws::Crt::JsonObject::WithInt64 ( const String key,
int64_t  value 
)

Adds a 64-bit integer value at key to the top level of this node.

◆ WithInteger() [1/2]

JsonObject & Aws::Crt::JsonObject::WithInteger ( const char *  key,
int  value 
)

◆ WithInteger() [2/2]

JsonObject & Aws::Crt::JsonObject::WithInteger ( const String key,
int  value 
)

Adds an integer value at key at the top level of this node.

◆ WithObject() [1/4]

JsonObject & Aws::Crt::JsonObject::WithObject ( const char *  key,
const JsonObject value 
)

◆ WithObject() [2/4]

JsonObject & Aws::Crt::JsonObject::WithObject ( const char *  key,
JsonObject &&  value 
)

◆ WithObject() [3/4]

JsonObject & Aws::Crt::JsonObject::WithObject ( const String key,
const JsonObject value 
)

Adds a JSON object to the top level of this node at key. The object parameter is deep-copied.

◆ WithObject() [4/4]

JsonObject & Aws::Crt::JsonObject::WithObject ( const String key,
JsonObject &&  value 
)

Adds a JSON object to the top level of this node at key.

◆ WithString() [1/2]

JsonObject & Aws::Crt::JsonObject::WithString ( const char *  key,
const String value 
)

◆ WithString() [2/2]

JsonObject & Aws::Crt::JsonObject::WithString ( const String key,
const String value 
)

Adds a string to the top level of this node with key.

Friends And Related Function Documentation

◆ JsonView

friend class JsonView
friend

The documentation for this class was generated from the following files: