Urho3D::JSONValue Class Reference
Public Member Functions |
Static Public Member Functions |
Static Public Attributes |
Private Attributes |
List of all members
Urho3D::JSONValue Class Reference
JSON value class. More...
#include <Urho3D/Resource/JSONValue.h>
Collaboration diagram for Urho3D::JSONValue:
Public Member Functions | |
JSONValue () | |
Construct null value. | |
JSONValue (bool value) | |
Construct with a boolean. | |
JSONValue (int value) | |
Construct with a integer. | |
JSONValue (unsigned value) | |
Construct with a unsigned integer. | |
JSONValue (float value) | |
Construct with a float. | |
JSONValue (double value) | |
Construct with a double. | |
JSONValue (const String &value) | |
Construct with a string. | |
JSONValue (const char *value) | |
Construct with a C string. | |
JSONValue (const JSONArray &value) | |
Construct with a JSON array. | |
JSONValue (const JSONObject &value) | |
Construct with a JSON object. | |
JSONValue (const JSONValue &value) | |
Copy-construct from another JSON value. | |
~JSONValue () | |
Destruct. | |
JSONValue & | operator= (bool rhs) |
Assign from a boolean. | |
JSONValue & | operator= (int rhs) |
Assign from an integer. | |
JSONValue & | operator= (unsigned rhs) |
Assign from an unsigned integer. | |
JSONValue & | operator= (float rhs) |
Assign from a float. | |
JSONValue & | operator= (double rhs) |
Assign from a double. | |
JSONValue & | operator= (const String &rhs) |
Assign from a string. | |
JSONValue & | operator= (const char *rhs) |
Assign from a C string. | |
JSONValue & | operator= (const JSONArray &rhs) |
Assign from a JSON array. | |
JSONValue & | operator= (const JSONObject &rhs) |
Assign from a JSON object. | |
JSONValue & | operator= (const JSONValue &rhs) |
Assign from another JSON value. | |
JSONValueType | GetValueType () const |
JSONNumberType | GetNumberType () const |
String | GetValueTypeName () const |
String | GetNumberTypeName () const |
bool | IsNull () const |
bool | IsBool () const |
bool | IsNumber () const |
bool | IsString () const |
bool | IsArray () const |
bool | IsObject () const |
bool | GetBool (bool defaultValue=false) const |
Return boolean value. | |
int | GetInt (int defaultValue=0) const |
Return integer value. | |
unsigned | GetUInt (unsigned defaultValue=0) const |
Return unsigned integer value. | |
float | GetFloat (float defaultValue=0.0f) const |
Return float value. | |
double | GetDouble (double defaultValue=0.0) const |
Return double value. | |
const String & | GetString (const String &defaultValue=String::EMPTY) const |
Return string value. The 'defaultValue' may potentially be returned as is, so it is the responsibility of the caller to ensure the 'defaultValue' remains valid while the return value is being referenced. | |
const char * | GetCString (const char *defaultValue="") const |
Return C string value. Default to empty string literal. | |
const JSONArray & | GetArray () const |
Return JSON array value. | |
const JSONObject & | GetObject () const |
Return JSON object value. | |
JSONValue & | operator[] (unsigned index) |
Return JSON value at index. | |
const JSONValue & | operator[] (unsigned index) const |
Return JSON value at index. | |
void | Push (const JSONValue &value) |
Add JSON value at end. | |
void | Pop () |
Remove the last JSON value. | |
void | Insert (unsigned pos, const JSONValue &value) |
Insert an JSON value at position. | |
void | Erase (unsigned pos, unsigned length=1) |
Erase a range of JSON values. | |
void | Resize (unsigned newSize) |
Resize array. | |
unsigned | Size () const |
JSONValue & | operator[] (const String &key) |
Return JSON value with key. | |
const JSONValue & | operator[] (const String &key) const |
Return JSON value with key. | |
void | Set (const String &key, const JSONValue &value) |
Set JSON value with key. | |
const JSONValue & | Get (const String &key) const |
Return JSON value with key. | |
bool | Erase (const String &key) |
Erase a pair by key. | |
bool | Contains (const String &key) const |
Return whether contains a pair with key. | |
JSONObjectIterator | Begin () |
Return iterator to the beginning. | |
ConstJSONObjectIterator | Begin () const |
Return iterator to the beginning. | |
JSONObjectIterator | End () |
Return iterator to the end. | |
ConstJSONObjectIterator | End () const |
Return iterator to the beginning. | |
void | Clear () |
Clear array or object. | |
void | SetType (JSONValueType valueType, JSONNumberType numberType=JSONNT_NAN) |
Set value type and number type, internal function. | |
void | SetVariant (const Variant &variant, Context *context=nullptr) |
Set variant, context must provide for resource ref. | |
Variant | GetVariant () const |
Return a variant. | |
void | SetVariantValue (const Variant &variant, Context *context=nullptr) |
Set variant value, context must provide for resource ref. | |
Variant | GetVariantValue (VariantType type) const |
Return a variant with type. | |
void | SetVariantMap (const VariantMap &variantMap, Context *context=nullptr) |
Set variant map, context must provide for resource ref. | |
VariantMap | GetVariantMap () const |
Return a variant map. More... | |
void | SetVariantVector (const VariantVector &variantVector, Context *context=nullptr) |
Set variant vector, context must provide for resource ref. | |
VariantVector | GetVariantVector () const |
Return a variant vector. | |
Static Public Member Functions | |
static String | GetValueTypeName (JSONValueType type) |
Return name corresponding to a value type. | |
static String | GetNumberTypeName (JSONNumberType type) |
Return name corresponding to a number type. | |
static JSONValueType | GetValueTypeFromName (const String &typeName) |
Return a value type from name; null if unrecognized. | |
static JSONValueType | GetValueTypeFromName (const char *typeName) |
Return a value type from name; null if unrecognized. | |
static JSONNumberType | GetNumberTypeFromName (const String &typeName) |
Return a number type from name; NaN if unrecognized. | |
static JSONNumberType | GetNumberTypeFromName (const char *typeName) |
Return a value type from name; NaN if unrecognized. | |
Static Public Attributes | |
static const JSONValue | EMPTY |
Empty JSON value. | |
static const JSONArray | emptyArray { } |
Empty JSON array. | |
static const JSONObject | emptyObject |
Empty JSON object. | |
Private Attributes | |
unsigned | type_ |
type. | |
union { | |
bool boolValue_ | |
double numberValue_ | |
String * stringValue_ | |
JSONArray * arrayValue_ | |
JSONObject * objectValue_ | |
}; | |
Detailed Description
JSON value class.
Member Function Documentation
◆ GetNumberType()
JSONNumberType Urho3D::JSONValue::GetNumberType | ( | ) | const |
Return number type.
Here is the caller graph for this function:
◆ GetNumberTypeName()
String Urho3D::JSONValue::GetNumberTypeName | ( | ) | const |
Return number type's name.
Here is the call graph for this function:
◆ GetValueType()
JSONValueType Urho3D::JSONValue::GetValueType | ( | ) | const |
Return value type.
Here is the caller graph for this function:
◆ GetValueTypeName()
String Urho3D::JSONValue::GetValueTypeName | ( | ) | const |
Return value type's name.
Here is the call graph for this function:
◆ GetVariantMap()
VariantMap Urho3D::JSONValue::GetVariantMap | ( | ) | const |
Return a variant map.
- Todo:
- Ideally this should allow any strings, but for now the convention is that the keys need to be hexadecimal StringHashes
Here is the call graph for this function:
◆ IsArray()
|
inline |
Check is array.
Here is the caller graph for this function:
◆ IsBool()
|
inline |
Check is boolean.
◆ IsNull()
|
inline |
Check is null.
Here is the caller graph for this function:
◆ IsNumber()
|
inline |
Check is number.
◆ IsObject()
|
inline |
Check is object.
Here is the caller graph for this function:
◆ IsString()
|
inline |
Check is string.
Here is the caller graph for this function:
◆ Size()
unsigned Urho3D::JSONValue::Size | ( | ) | const |
Return size of array or number of keys in object.
Here is the call graph for this function:
Here is the caller graph for this function:
Member Data Documentation
◆ arrayValue_
JSONArray* Urho3D::JSONValue::arrayValue_ |
Array value.
◆ boolValue_
bool Urho3D::JSONValue::boolValue_ |
Boolean value.
◆ numberValue_
double Urho3D::JSONValue::numberValue_ |
Number value.
◆ objectValue_
JSONObject* Urho3D::JSONValue::objectValue_ |
Object value.
◆ stringValue_
The documentation for this class was generated from the following files:
- Source/Urho3D/Resource/JSONValue.h
- Source/Urho3D/Resource/JSONValue.cpp