QtBase
v6.3.1
|
The QJsonObject class encapsulates a JSON object. More...
#include <qjsonobject.h>
Classes | |
class | const_iterator |
The QJsonObject::const_iterator class provides an STL-style const iterator for QJsonObject. More... | |
class | iterator |
The QJsonObject::iterator class provides an STL-style non-const iterator for QJsonObject. More... | |
Public Types | |
typedef iterator | Iterator |
typedef const_iterator | ConstIterator |
typedef QJsonValue | mapped_type |
typedef QString | key_type |
typedef qsizetype | size_type |
Static Public Member Functions | |
static QJsonObject | fromVariantMap (const QVariantMap &map) |
static QJsonObject | fromVariantHash (const QVariantHash &map) |
Friends | |
class | iterator |
class | const_iterator |
class | QJsonValue |
class | QJsonDocument |
class | QJsonValueRef |
class | QCborMap |
Q_CORE_EXPORT QDebug | operator<< (QDebug, const QJsonObject &) |
The QJsonObject class encapsulates a JSON object.
\inmodule QtCore
\reentrant
A JSON object is a list of key value pairs, where the keys are unique strings and the values are represented by a QJsonValue.
A QJsonObject can be converted to and from a QVariantMap. You can query the number of (key, value) pairs with size(), insert(), and remove() entries from it and iterate over its content using the standard C++ iterator pattern.
QJsonObject is an implicitly shared class, and shares the data with the document it has been created from as long as it is not being modified.
You can convert the object to and from text based JSON through QJsonDocument.
Definition at line 55 of file qjsonobject.h.
Qt-style synonym for QJsonObject::const_iterator.
Definition at line 260 of file qjsonobject.h.
Qt-style synonym for QJsonObject::iterator.
Definition at line 259 of file qjsonobject.h.
Typedef for QString. Provided for STL compatibility.
Definition at line 278 of file qjsonobject.h.
Typedef for QJsonValue. Provided for STL compatibility.
Definition at line 277 of file qjsonobject.h.
Typedef for qsizetype. Provided for STL compatibility.
Definition at line 279 of file qjsonobject.h.
|
default |
Constructs an empty JSON object.
QJsonObject::QJsonObject | ( | std::initializer_list< QPair< QString, QJsonValue > > | args | ) |
Definition at line 148 of file qjsonobject.cpp.
|
default |
Destroys the object.
QJsonObject::QJsonObject | ( | const QJsonObject & | other | ) |
Creates a copy of other.
Since QJsonObject is implicitly shared, the copy is shallow as long as the object does not get modified.
Definition at line 160 of file qjsonobject.cpp.
|
noexcept |
Move-constructs a QJsonObject from other.
Definition at line 165 of file qjsonobject.cpp.
|
inline |
Returns an \l{STL-style iterators}{STL-style iterator} pointing to the first item in the object.
Definition at line 250 of file qjsonobject.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 251 of file qjsonobject.h.
|
inline |
Returns a const \l{STL-style iterators}{STL-style iterator} pointing to the first item in the object.
Definition at line 252 of file qjsonobject.h.
|
inline |
Returns a const \l{STL-style iterators}{STL-style iterator} pointing to the imaginary item after the last item in the object.
Definition at line 255 of file qjsonobject.h.
QJsonObject::const_iterator QJsonObject::constFind | ( | const QString & | key | ) | const |
Returns a const iterator pointing to the item with key key in the map.
If the map contains no item with key key, the function returns constEnd().
Definition at line 792 of file qjsonobject.cpp.
QJsonObject::const_iterator QJsonObject::constFind | ( | QLatin1String | key | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 811 of file qjsonobject.cpp.
QJsonObject::const_iterator QJsonObject::constFind | ( | QStringView | key | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 802 of file qjsonobject.cpp.
Returns true
if the object contains key key.
Definition at line 632 of file qjsonobject.cpp.
bool QJsonObject::contains | ( | QLatin1String | key | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 651 of file qjsonobject.cpp.
bool QJsonObject::contains | ( | QStringView | key | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 642 of file qjsonobject.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Same as size().
Definition at line 87 of file qjsonobject.h.
|
inline |
This function is provided for STL compatibility. It is equivalent to isEmpty(), returning true
if the object is empty; otherwise returning false
.
Definition at line 281 of file qjsonobject.h.
|
inline |
Returns an \l{STL-style iterators}{STL-style iterator} pointing to the imaginary item after the last item in the object.
Definition at line 253 of file qjsonobject.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 254 of file qjsonobject.h.
QJsonObject::iterator QJsonObject::erase | ( | QJsonObject::iterator | it | ) |
Removes the (key, value) pair pointed to by the iterator it from the map, and returns an iterator to the next item in the map.
Definition at line 708 of file qjsonobject.cpp.
QJsonObject::iterator QJsonObject::find | ( | const QString & | key | ) |
Returns an iterator pointing to the item with key key in the map.
If the map contains no item with key key, the function returns end().
Definition at line 727 of file qjsonobject.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 263 of file qjsonobject.h.
QJsonObject::iterator QJsonObject::find | ( | QLatin1String | key | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 746 of file qjsonobject.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 270 of file qjsonobject.h.
QJsonObject::iterator QJsonObject::find | ( | QStringView | key | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 737 of file qjsonobject.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 269 of file qjsonobject.h.
|
static |
Converts the variant hash hash to a QJsonObject.
The keys in hash will be used as the keys in the JSON object, and the QVariant values will be converted to JSON values.
Definition at line 242 of file qjsonobject.cpp.
|
static |
Converts the variant map map to a QJsonObject.
The keys in map will be used as the keys in the JSON object, and the QVariant values will be converted to JSON values.
Definition at line 213 of file qjsonobject.cpp.
QJsonObject::iterator QJsonObject::insert | ( | const QString & | key, |
const QJsonValue & | value | ||
) |
Inserts a new item with the key key and a value of value.
If there is already an item with the key key, then that item's value is replaced with value.
Returns an iterator pointing to the inserted item.
If the value is QJsonValue::Undefined, it will cause the key to get removed from the object. The returned iterator will then point to end().
Definition at line 466 of file qjsonobject.cpp.
QJsonObject::iterator QJsonObject::insert | ( | QLatin1String | key, |
const QJsonValue & | value | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 485 of file qjsonobject.cpp.
QJsonObject::iterator QJsonObject::insert | ( | QStringView | key, |
const QJsonValue & | value | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 476 of file qjsonobject.cpp.
bool QJsonObject::isEmpty | ( | ) | const |
Returns true
if the object is empty. This is the same as size() == 0.
Definition at line 294 of file qjsonobject.cpp.
QStringList QJsonObject::keys | ( | ) | const |
Returns a list of all keys in this object.
The list is sorted lexographically.
Definition at line 270 of file qjsonobject.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Same as size().
Definition at line 88 of file qjsonobject.h.
bool QJsonObject::operator!= | ( | const QJsonObject & | other | ) | const |
Returns true
if other is not equal to this object.
Definition at line 696 of file qjsonobject.cpp.
QJsonObject & QJsonObject::operator= | ( | const QJsonObject & | other | ) |
Assigns other to this object.
Definition at line 174 of file qjsonobject.cpp.
|
inlinenoexcept |
Move-assigns other to this object.
Definition at line 69 of file qjsonobject.h.
bool QJsonObject::operator== | ( | const QJsonObject & | other | ) | const |
Returns true
if other is equal to this object.
Definition at line 673 of file qjsonobject.cpp.
QJsonValueRef QJsonObject::operator[] | ( | const QString & | key | ) |
Returns a reference to the value for key. If there is no value with key key in the object, one is created with a QJsonValue::Null value and then returned.
The return value is of type QJsonValueRef, a helper class for QJsonArray and QJsonObject. When you get an object of type QJsonValueRef, you can use it as if it were a reference to a QJsonValue. If you assign to it, the assignment will apply to the element in the QJsonArray or QJsonObject from which you got the reference.
Definition at line 408 of file qjsonobject.cpp.
QJsonValue QJsonObject::operator[] | ( | const QString & | key | ) | const |
Returns a QJsonValue representing the value for the key key.
This does the same as value().
The returned QJsonValue is QJsonValue::Undefined if the key does not exist.
Definition at line 374 of file qjsonobject.cpp.
QJsonValueRef QJsonObject::operator[] | ( | QLatin1String | key | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 427 of file qjsonobject.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 99 of file qjsonobject.h.
QJsonValueRef QJsonObject::operator[] | ( | QStringView | key | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 418 of file qjsonobject.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 98 of file qjsonobject.h.
Removes key from the object.
Definition at line 531 of file qjsonobject.cpp.
void QJsonObject::remove | ( | QLatin1String | key | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 550 of file qjsonobject.cpp.
void QJsonObject::remove | ( | QStringView | key | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 541 of file qjsonobject.cpp.
qsizetype QJsonObject::size | ( | ) | const |
Returns the number of (key, value) pairs stored in the object.
Definition at line 284 of file qjsonobject.cpp.
|
inlinenoexcept |
Swaps the object other with this. This operation is very fast and never fails.
Definition at line 75 of file qjsonobject.h.
QJsonValue QJsonObject::take | ( | const QString & | key | ) |
Removes key from the object.
Returns a QJsonValue containing the value referenced by key. If key was not contained in the object, the returned QJsonValue is QJsonValue::Undefined.
Definition at line 582 of file qjsonobject.cpp.
QJsonValue QJsonObject::take | ( | QLatin1String | key | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 601 of file qjsonobject.cpp.
QJsonValue QJsonObject::take | ( | QStringView | key | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 592 of file qjsonobject.cpp.
QVariantHash QJsonObject::toVariantHash | ( | ) | const |
Converts this object to a QVariantHash.
Returns the created hash.
Definition at line 260 of file qjsonobject.cpp.
QVariantMap QJsonObject::toVariantMap | ( | ) | const |
Converts this object to a QVariantMap.
Returns the created map.
Definition at line 225 of file qjsonobject.cpp.
QJsonValue QJsonObject::value | ( | const QString & | key | ) | const |
Returns a QJsonValue representing the value for the key key.
The returned QJsonValue is QJsonValue::Undefined if the key does not exist.
Definition at line 324 of file qjsonobject.cpp.
QJsonValue QJsonObject::value | ( | QLatin1String | key | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 343 of file qjsonobject.cpp.
QJsonValue QJsonObject::value | ( | QStringView | key | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 334 of file qjsonobject.cpp.
|
friend |
Definition at line 247 of file qjsonobject.h.
|
friend |
Definition at line 182 of file qjsonobject.h.
|
friend |
Definition at line 1474 of file qjsonobject.cpp.
|
friend |
Definition at line 287 of file qjsonobject.h.
|
friend |
Definition at line 285 of file qjsonobject.h.
|
friend |
Definition at line 284 of file qjsonobject.h.
|
friend |
Definition at line 286 of file qjsonobject.h.