<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qjsonvalue.cpp --> <title>QJsonValue Class | Qt Core 5.12.2</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.12</td><td ><a href="qtcore-index.html">Qt Core</a></td><td ><a href="qtcore-module.html">C++ Classes</a></td><td >QJsonValue</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right"><a href="qtcore-index.html">Qt 5.12.2 Reference Documentation</a></td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#public-types">Public Types</a></li> <li class="level1"><a href="#public-functions">Public Functions</a></li> <li class="level1"><a href="#static-public-members">Static Public Members</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> <li class="level2"><a href="#qjsonvalueref">QJsonValueRef</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">QJsonValue Class</h1> <!-- $$$QJsonValue-brief --> <p>The <a href="qjsonvalue.html">QJsonValue</a> class encapsulates a value in JSON. <a href="#details">More...</a></p> <!-- @@@QJsonValue --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QJsonValue></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += core</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> Qt 5.0</td></tr></table></div><ul> <li><a href="qjsonvalue-members.html">List of all members, including inherited members</a></li> </ul> <p><b>Note:</b> All functions in this class are reentrant.</p> <a name="public-types"></a> <h2 id="public-types">Public Types</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#Type-enum">Type</a></b> { Null, Bool, Double, String, ..., Undefined }</td></tr> </table></div> <a name="public-functions"></a> <h2 id="public-functions">Public Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></b>(QJsonValue::Type <i>type</i> = Null)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-1">QJsonValue</a></b>(bool <i>b</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-2">QJsonValue</a></b>(double <i>n</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-3">QJsonValue</a></b>(int <i>n</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-4">QJsonValue</a></b>(qint64 <i>n</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-5">QJsonValue</a></b>(const QString &<i>s</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-6">QJsonValue</a></b>(QLatin1String <i>s</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-7">QJsonValue</a></b>(const char *<i>s</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-8">QJsonValue</a></b>(const QJsonArray &<i>a</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-9">QJsonValue</a></b>(const QJsonObject &<i>o</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-10">QJsonValue</a></b>(const QJsonValue &<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#QJsonValue-11">QJsonValue</a></b>(QJsonValue &&<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#dtor.QJsonValue">~QJsonValue</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#isArray">isArray</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#isBool">isBool</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#isDouble">isDouble</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#isNull">isNull</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#isObject">isObject</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#isString">isString</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#isUndefined">isUndefined</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#swap">swap</a></b>(QJsonValue &<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QJsonArray </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#toArray">toArray</a></b>(const QJsonArray &<i>defaultValue</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QJsonArray </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#toArray-1">toArray</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#toBool">toBool</a></b>(bool <i>defaultValue</i> = false) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> double </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#toDouble">toDouble</a></b>(double <i>defaultValue</i> = 0) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#toInt">toInt</a></b>(int <i>defaultValue</i> = 0) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QJsonObject </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#toObject">toObject</a></b>(const QJsonObject &<i>defaultValue</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QJsonObject </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#toObject-1">toObject</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#toString">toString</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#toString-1">toString</a></b>(const QString &<i>defaultValue</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QVariant </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#toVariant">toVariant</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QJsonValue::Type </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#type">type</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#operator-not-eq">operator!=</a></b>(const QJsonValue &<i>other</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QJsonValue &</td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#operator-eq">operator=</a></b>(const QJsonValue &<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QJsonValue &</td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#operator-eq-1">operator=</a></b>(QJsonValue &&<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#operator-eq-eq">operator==</a></b>(const QJsonValue &<i>other</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> const QJsonValue </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#operator-5b-5d">operator[]</a></b>(const QString &<i>key</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> const QJsonValue </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#operator-5b-5d-1">operator[]</a></b>(QLatin1String <i>key</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> const QJsonValue </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#operator-5b-5d-2">operator[]</a></b>(int <i>i</i>) const</td></tr> </table></div> <a name="static-public-members"></a> <h2 id="static-public-members">Static Public Members</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> QJsonValue </td><td class="memItemRight bottomAlign"><b><a href="qjsonvalue.html#fromVariant">fromVariant</a></b>(const QVariant &<i>variant</i>)</td></tr> </table></div> <a name="details"></a> <!-- $$$QJsonValue-description --> <div class="descr"> <h2 id="details">Detailed Description</h2> <p>The <a href="qjsonvalue.html">QJsonValue</a> class encapsulates a value in JSON.</p> <p>A value in JSON can be one of 6 basic types:</p> <p>JSON is a format to store structured data. It has 6 basic data types:</p> <ul> <li>bool <a href="qjsonvalue.html#Type-enum">QJsonValue::Bool</a></li> <li>double <a href="qjsonvalue.html#Type-enum">QJsonValue::Double</a></li> <li>string <a href="qjsonvalue.html#Type-enum">QJsonValue::String</a></li> <li>array <a href="qjsonvalue.html#Type-enum">QJsonValue::Array</a></li> <li>object <a href="qjsonvalue.html#Type-enum">QJsonValue::Object</a></li> <li>null <a href="qjsonvalue.html#Type-enum">QJsonValue::Null</a></li> </ul> <p>A value can represent any of the above data types. In addition, <a href="qjsonvalue.html">QJsonValue</a> has one special flag to represent undefined values. This can be queried with <a href="qjsonvalue.html#isUndefined">isUndefined</a>().</p> <p>The type of the value can be queried with <a href="qjsonvalue.html#type">type</a>() or accessors like <a href="qjsonvalue.html#isBool">isBool</a>(), <a href="qjsonvalue.html#isString">isString</a>(), and so on. Likewise, the value can be converted to the type stored in it using the <a href="qjsonvalue.html#toBool">toBool</a>(), <a href="qjsonvalue.html#toString">toString</a>() and so on.</p> <p>Values are strictly typed internally and contrary to <a href="qvariant.html">QVariant</a> will not attempt to do any implicit type conversions. This implies that converting to a type that is not stored in the value will return a default constructed return value.</p> <a name="qjsonvalueref"></a> <h3 >QJsonValueRef</h3> <p><a href="qjsonvalue.html#qjsonvalueref">QJsonValueRef</a> is a helper class for <a href="qjsonarray.html">QJsonArray</a> and <a href="qjsonobject.html">QJsonObject</a>. When you get an object of type <a href="qjsonvalue.html#qjsonvalueref">QJsonValueRef</a>, you can use it as if it were a reference to a <a href="qjsonvalue.html">QJsonValue</a>. If you assign to it, the assignment will apply to the element in the <a href="qjsonarray.html">QJsonArray</a> or <a href="qjsonobject.html">QJsonObject</a> from which you got the reference.</p> <p>The following methods return <a href="qjsonvalue.html#qjsonvalueref">QJsonValueRef</a>:</p> <ul> <li><a href="qjsonarray.html">QJsonArray</a>::operator[](int i)</li> <li><a href="qjsonobject.html">QJsonObject</a>::operator[](const <a href="qstring.html">QString</a> & key) const</li> </ul> </div> <p><b>See also </b><a href="json.html">JSON Support in Qt</a> and <a href="qtcore-serialization-savegame-example.html">JSON Save Game Example</a>.</p> <!-- @@@QJsonValue --> <div class="types"> <h2>Member Type Documentation</h2> <!-- $$$Type$$$Null$$$Bool$$$Double$$$String$$$Array$$$Object$$$Undefined --> <h3 class="fn" id="Type-enum"><a name="Type-enum"></a>enum QJsonValue::<span class="name">Type</span></h3> <p>This enum describes the type of the JSON value.</p> <div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr> <tr><td class="topAlign"><code>QJsonValue::Null</code></td><td class="topAlign tblval"><code>0x0</code></td><td class="topAlign">A Null value</td></tr> <tr><td class="topAlign"><code>QJsonValue::Bool</code></td><td class="topAlign tblval"><code>0x1</code></td><td class="topAlign">A boolean value. Use <a href="qjsonvalue.html#toBool">toBool</a>() to convert to a bool.</td></tr> <tr><td class="topAlign"><code>QJsonValue::Double</code></td><td class="topAlign tblval"><code>0x2</code></td><td class="topAlign">A double. Use <a href="qjsonvalue.html#toDouble">toDouble</a>() to convert to a double.</td></tr> <tr><td class="topAlign"><code>QJsonValue::String</code></td><td class="topAlign tblval"><code>0x3</code></td><td class="topAlign">A string. Use <a href="qjsonvalue.html#toString">toString</a>() to convert to a <a href="qstring.html">QString</a>.</td></tr> <tr><td class="topAlign"><code>QJsonValue::Array</code></td><td class="topAlign tblval"><code>0x4</code></td><td class="topAlign">An array. Use <a href="qjsonvalue.html#toArray-1">toArray</a>() to convert to a <a href="qjsonarray.html">QJsonArray</a>.</td></tr> <tr><td class="topAlign"><code>QJsonValue::Object</code></td><td class="topAlign tblval"><code>0x5</code></td><td class="topAlign">An object. Use <a href="qjsonvalue.html#toObject-1">toObject</a>() to convert to a <a href="qjsonobject.html">QJsonObject</a>.</td></tr> <tr><td class="topAlign"><code>QJsonValue::Undefined</code></td><td class="topAlign tblval"><code>0x80</code></td><td class="topAlign">The value is undefined. This is usually returned as an error condition, when trying to read an out of bounds value in an array or a non existent key in an object.</td></tr> </table></div> <!-- @@@Type --> </div> <div class="func"> <h2>Member Function Documentation</h2> <!-- $$$QJsonValue[overload1]$$$QJsonValueQJsonValue::Type --> <h3 class="fn" id="QJsonValue"><a name="QJsonValue"></a>QJsonValue::<span class="name">QJsonValue</span>(<span class="type"><a href="qjsonvalue.html#Type-enum">QJsonValue::Type</a></span> <i>type</i> = Null)</h3> <p>Creates a <a href="qjsonvalue.html">QJsonValue</a> of type <i>type</i>.</p> <p>The default is to create a Null value.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValuebool --> <h3 class="fn" id="QJsonValue-1"><a name="QJsonValue-1"></a>QJsonValue::<span class="name">QJsonValue</span>(<span class="type">bool</span> <i>b</i>)</h3> <p>Creates a value of type Bool, with value <i>b</i>.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValuedouble --> <h3 class="fn" id="QJsonValue-2"><a name="QJsonValue-2"></a>QJsonValue::<span class="name">QJsonValue</span>(<span class="type">double</span> <i>n</i>)</h3> <p>Creates a value of type Double, with value <i>n</i>.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValueint --> <h3 class="fn" id="QJsonValue-3"><a name="QJsonValue-3"></a>QJsonValue::<span class="name">QJsonValue</span>(<span class="type">int</span> <i>n</i>)</h3> <p>This is an overloaded function.</p> <p>Creates a value of type Double, with value <i>n</i>.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValueqint64 --> <h3 class="fn" id="QJsonValue-4"><a name="QJsonValue-4"></a>QJsonValue::<span class="name">QJsonValue</span>(<span class="type"><a href="qtglobal.html#qint64-typedef">qint64</a></span> <i>n</i>)</h3> <p>This is an overloaded function.</p> <p>Creates a value of type Double, with value <i>n</i>. NOTE: the integer limits for IEEE 754 double precision data is 2^53 (-9007199254740992 to +9007199254740992). If you pass in values outside this range expect a loss of precision to occur.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValueconstQString& --> <h3 class="fn" id="QJsonValue-5"><a name="QJsonValue-5"></a>QJsonValue::<span class="name">QJsonValue</span>(const <span class="type"><a href="qstring.html">QString</a></span> &<i>s</i>)</h3> <p>Creates a value of type String, with value <i>s</i>.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValueQLatin1String --> <h3 class="fn" id="QJsonValue-6"><a name="QJsonValue-6"></a>QJsonValue::<span class="name">QJsonValue</span>(<span class="type"><a href="qlatin1string.html">QLatin1String</a></span> <i>s</i>)</h3> <p>Creates a value of type String, with value <i>s</i>.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValueconstchar* --> <h3 class="fn" id="QJsonValue-7"><a name="QJsonValue-7"></a>QJsonValue::<span class="name">QJsonValue</span>(const <span class="type">char</span> *<i>s</i>)</h3> <p>Creates a value of type String with value <i>s</i>, assuming UTF-8 encoding of the input.</p> <p>You can disable this constructor by defining <code>QT_NO_CAST_FROM_ASCII</code> when you compile your applications.</p> <p>This function was introduced in Qt 5.3.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValueconstQJsonArray& --> <h3 class="fn" id="QJsonValue-8"><a name="QJsonValue-8"></a>QJsonValue::<span class="name">QJsonValue</span>(const <span class="type"><a href="qjsonarray.html">QJsonArray</a></span> &<i>a</i>)</h3> <p>Creates a value of type Array, with value <i>a</i>.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValueconstQJsonObject& --> <h3 class="fn" id="QJsonValue-9"><a name="QJsonValue-9"></a>QJsonValue::<span class="name">QJsonValue</span>(const <span class="type"><a href="qjsonobject.html">QJsonObject</a></span> &<i>o</i>)</h3> <p>Creates a value of type Object, with value <i>o</i>.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValueconstQJsonValue& --> <h3 class="fn" id="QJsonValue-10"><a name="QJsonValue-10"></a>QJsonValue::<span class="name">QJsonValue</span>(const <span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> &<i>other</i>)</h3> <p>Creates a copy of <i>other</i>.</p> <!-- @@@QJsonValue --> <!-- $$$QJsonValue$$$QJsonValueQJsonValue&& --> <h3 class="fn" id="QJsonValue-11"><a name="QJsonValue-11"></a>QJsonValue::<span class="name">QJsonValue</span>(<span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> &&<i>other</i>)</h3> <p>Move-constructs a <a href="qjsonvalue.html">QJsonValue</a> from <i>other</i>.</p> <p>This function was introduced in Qt 5.10.</p> <!-- @@@QJsonValue --> <!-- $$$~QJsonValue[overload1]$$$~QJsonValue --> <h3 class="fn" id="dtor.QJsonValue"><a name="dtor.QJsonValue"></a>QJsonValue::<span class="name">~QJsonValue</span>()</h3> <p>Destroys the value.</p> <!-- @@@~QJsonValue --> <!-- $$$fromVariant[overload1]$$$fromVariantconstQVariant& --> <h3 class="fn" id="fromVariant"><a name="fromVariant"></a><code>[static] </code><span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> QJsonValue::<span class="name">fromVariant</span>(const <span class="type"><a href="qvariant.html">QVariant</a></span> &<i>variant</i>)</h3> <p>Converts <i>variant</i> to a <a href="qjsonvalue.html">QJsonValue</a> and returns it.</p> <p>The conversion will convert <a href="qvariant.html">QVariant</a> types as follows:</p> <div class="table"><table class="generic"> <thead><tr class="qt-style"><th >Source type</th><th >Destination type</th></tr></thead> <tr valign="top" class="odd"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::Nullptr</a></li> </ul> </td><td ><a href="qjsonvalue.html#Type-enum">QJsonValue::Null</a></td></tr> <tr valign="top" class="even"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::Bool</a></li> </ul> </td><td ><a href="qjsonvalue.html#Type-enum">QJsonValue::Bool</a></td></tr> <tr valign="top" class="odd"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::Int</a></li> <li><a href="qmetatype.html#Type-enum">QMetaType::UInt</a></li> <li><a href="qmetatype.html#Type-enum">QMetaType::LongLong</a></li> <li><a href="qmetatype.html#Type-enum">QMetaType::ULongLong</a></li> <li><a href="qmetatype.html#Type-enum">QMetaType::Float</a></li> <li><a href="qmetatype.html#Type-enum">QMetaType::Double</a></li> </ul> </td><td ><a href="qjsonvalue.html#Type-enum">QJsonValue::Double</a></td></tr> <tr valign="top" class="even"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::QString</a></li> </ul> </td><td ><a href="qjsonvalue.html#Type-enum">QJsonValue::String</a></td></tr> <tr valign="top" class="odd"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::QStringList</a></li> <li><a href="qmetatype.html#Type-enum">QMetaType::QVariantList</a></li> </ul> </td><td ><a href="qjsonvalue.html#Type-enum">QJsonValue::Array</a></td></tr> <tr valign="top" class="even"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::QVariantMap</a></li> <li><a href="qmetatype.html#Type-enum">QMetaType::QVariantHash</a></li> </ul> </td><td ><a href="qjsonvalue.html#Type-enum">QJsonValue::Object</a></td></tr> <tr valign="top" class="odd"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::QUrl</a></li> </ul> </td><td ><a href="qjsonvalue.html#Type-enum">QJsonValue::String</a>. The conversion will use <a href="qurl.html#toString">QUrl::toString</a>() with flag <a href="qurl.html#ComponentFormattingOption-enum">QUrl::FullyEncoded</a>, so as to ensure maximum compatibility in parsing the URL</td></tr> <tr valign="top" class="even"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::QUuid</a></li> </ul> </td><td ><a href="qjsonvalue.html#Type-enum">QJsonValue::String</a>. Since Qt 5.11, the resulting string will not include braces</td></tr> <tr valign="top" class="odd"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::QCborValue</a></li> </ul> </td><td >Whichever type <a href="qcborvalue.html#toJsonValue">QCborValue::toJsonValue</a>() returns.</td></tr> <tr valign="top" class="even"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::QCborArray</a></li> </ul> </td><td ><a href="qjsonvalue.html#Type-enum">QJsonValue::Array</a>. See <a href="qcborvalue.html#toJsonValue">QCborValue::toJsonValue</a>() for conversion restrictions.</td></tr> <tr valign="top" class="odd"><td ><ul> <li><a href="qmetatype.html#Type-enum">QMetaType::QCborMap</a></li> </ul> </td><td >QJsonValue::Map. See <a href="qcborvalue.html#toJsonValue">QCborValue::toJsonValue</a>() for conversion restrictions and the "stringification" of map keys.</td></tr> </table></div> <p>For all other <a href="qvariant.html">QVariant</a> types a conversion to a <a href="qstring.html">QString</a> will be attempted. If the returned string is empty, a Null <a href="qjsonvalue.html">QJsonValue</a> will be stored, otherwise a String value using the returned <a href="qstring.html">QString</a>.</p> <p><b>See also </b><a href="qjsonvalue.html#toVariant">toVariant</a>().</p> <!-- @@@fromVariant --> <!-- $$$isArray[overload1]$$$isArray --> <h3 class="fn" id="isArray"><a name="isArray"></a><span class="type">bool</span> QJsonValue::<span class="name">isArray</span>() const</h3> <p>Returns <code>true</code> if the value contains an array.</p> <p><b>See also </b><a href="qjsonvalue.html#toArray-1">toArray</a>().</p> <!-- @@@isArray --> <!-- $$$isBool[overload1]$$$isBool --> <h3 class="fn" id="isBool"><a name="isBool"></a><span class="type">bool</span> QJsonValue::<span class="name">isBool</span>() const</h3> <p>Returns <code>true</code> if the value contains a boolean.</p> <p><b>See also </b><a href="qjsonvalue.html#toBool">toBool</a>().</p> <!-- @@@isBool --> <!-- $$$isDouble[overload1]$$$isDouble --> <h3 class="fn" id="isDouble"><a name="isDouble"></a><span class="type">bool</span> QJsonValue::<span class="name">isDouble</span>() const</h3> <p>Returns <code>true</code> if the value contains a double.</p> <p><b>See also </b><a href="qjsonvalue.html#toDouble">toDouble</a>().</p> <!-- @@@isDouble --> <!-- $$$isNull[overload1]$$$isNull --> <h3 class="fn" id="isNull"><a name="isNull"></a><span class="type">bool</span> QJsonValue::<span class="name">isNull</span>() const</h3> <p>Returns <code>true</code> if the value is null.</p> <!-- @@@isNull --> <!-- $$$isObject[overload1]$$$isObject --> <h3 class="fn" id="isObject"><a name="isObject"></a><span class="type">bool</span> QJsonValue::<span class="name">isObject</span>() const</h3> <p>Returns <code>true</code> if the value contains an object.</p> <p><b>See also </b><a href="qjsonvalue.html#toObject-1">toObject</a>().</p> <!-- @@@isObject --> <!-- $$$isString[overload1]$$$isString --> <h3 class="fn" id="isString"><a name="isString"></a><span class="type">bool</span> QJsonValue::<span class="name">isString</span>() const</h3> <p>Returns <code>true</code> if the value contains a string.</p> <p><b>See also </b><a href="qjsonvalue.html#toString">toString</a>().</p> <!-- @@@isString --> <!-- $$$isUndefined[overload1]$$$isUndefined --> <h3 class="fn" id="isUndefined"><a name="isUndefined"></a><span class="type">bool</span> QJsonValue::<span class="name">isUndefined</span>() const</h3> <p>Returns <code>true</code> if the value is undefined. This can happen in certain error cases as e.g. accessing a non existing key in a <a href="qjsonobject.html">QJsonObject</a>.</p> <!-- @@@isUndefined --> <!-- $$$swap[overload1]$$$swapQJsonValue& --> <h3 class="fn" id="swap"><a name="swap"></a><span class="type">void</span> QJsonValue::<span class="name">swap</span>(<span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> &<i>other</i>)</h3> <p>Swaps the value <i>other</i> with this. This operation is very fast and never fails.</p> <p>This function was introduced in Qt 5.10.</p> <!-- @@@swap --> <!-- $$$toArray[overload1]$$$toArrayconstQJsonArray& --> <h3 class="fn" id="toArray"><a name="toArray"></a><span class="type"><a href="qjsonarray.html">QJsonArray</a></span> QJsonValue::<span class="name">toArray</span>(const <span class="type"><a href="qjsonarray.html">QJsonArray</a></span> &<i>defaultValue</i>) const</h3> <p>Converts the value to an array and returns it.</p> <p>If <a href="qjsonvalue.html#type">type</a>() is not Array, the <i>defaultValue</i> will be returned.</p> <!-- @@@toArray --> <!-- $$$toArray$$$toArray --> <h3 class="fn" id="toArray-1"><a name="toArray-1"></a><span class="type"><a href="qjsonarray.html">QJsonArray</a></span> QJsonValue::<span class="name">toArray</span>() const</h3> <p>This is an overloaded function.</p> <p>Converts the value to an array and returns it.</p> <p>If <a href="qjsonvalue.html#type">type</a>() is not Array, a <a href="qjsonarray.html#QJsonArray">QJsonArray()</a> will be returned.</p> <!-- @@@toArray --> <!-- $$$toBool[overload1]$$$toBoolbool --> <h3 class="fn" id="toBool"><a name="toBool"></a><span class="type">bool</span> QJsonValue::<span class="name">toBool</span>(<span class="type">bool</span> <i>defaultValue</i> = false) const</h3> <p>Converts the value to a bool and returns it.</p> <p>If <a href="qjsonvalue.html#type">type</a>() is not bool, the <i>defaultValue</i> will be returned.</p> <!-- @@@toBool --> <!-- $$$toDouble[overload1]$$$toDoubledouble --> <h3 class="fn" id="toDouble"><a name="toDouble"></a><span class="type">double</span> QJsonValue::<span class="name">toDouble</span>(<span class="type">double</span> <i>defaultValue</i> = 0) const</h3> <p>Converts the value to a double and returns it.</p> <p>If <a href="qjsonvalue.html#type">type</a>() is not Double, the <i>defaultValue</i> will be returned.</p> <!-- @@@toDouble --> <!-- $$$toInt[overload1]$$$toIntint --> <h3 class="fn" id="toInt"><a name="toInt"></a><span class="type">int</span> QJsonValue::<span class="name">toInt</span>(<span class="type">int</span> <i>defaultValue</i> = 0) const</h3> <p>Converts the value to an int and returns it.</p> <p>If <a href="qjsonvalue.html#type">type</a>() is not Double or the value is not a whole number, the <i>defaultValue</i> will be returned.</p> <p>This function was introduced in Qt 5.2.</p> <!-- @@@toInt --> <!-- $$$toObject[overload1]$$$toObjectconstQJsonObject& --> <h3 class="fn" id="toObject"><a name="toObject"></a><span class="type"><a href="qjsonobject.html">QJsonObject</a></span> QJsonValue::<span class="name">toObject</span>(const <span class="type"><a href="qjsonobject.html">QJsonObject</a></span> &<i>defaultValue</i>) const</h3> <p>Converts the value to an object and returns it.</p> <p>If <a href="qjsonvalue.html#type">type</a>() is not Object, the <i>defaultValue</i> will be returned.</p> <!-- @@@toObject --> <!-- $$$toObject$$$toObject --> <h3 class="fn" id="toObject-1"><a name="toObject-1"></a><span class="type"><a href="qjsonobject.html">QJsonObject</a></span> QJsonValue::<span class="name">toObject</span>() const</h3> <p>This is an overloaded function.</p> <p>Converts the value to an object and returns it.</p> <p>If <a href="qjsonvalue.html#type">type</a>() is not Object, the <a href="qjsonobject.html#QJsonObject">QJsonObject()</a> will be returned.</p> <!-- @@@toObject --> <!-- $$$toString[overload1]$$$toString --> <h3 class="fn" id="toString"><a name="toString"></a><span class="type"><a href="qstring.html">QString</a></span> QJsonValue::<span class="name">toString</span>() const</h3> <p>Converts the value to a <a href="qstring.html">QString</a> and returns it.</p> <p>If <a href="qjsonvalue.html#type">type</a>() is not String, a null <a href="qstring.html">QString</a> will be returned.</p> <p><b>See also </b><a href="qstring.html#isNull">QString::isNull</a>().</p> <!-- @@@toString --> <!-- $$$toString$$$toStringconstQString& --> <h3 class="fn" id="toString-1"><a name="toString-1"></a><span class="type"><a href="qstring.html">QString</a></span> QJsonValue::<span class="name">toString</span>(const <span class="type"><a href="qstring.html">QString</a></span> &<i>defaultValue</i>) const</h3> <p>Converts the value to a <a href="qstring.html">QString</a> and returns it.</p> <p>If <a href="qjsonvalue.html#type">type</a>() is not String, the <i>defaultValue</i> will be returned.</p> <!-- @@@toString --> <!-- $$$toVariant[overload1]$$$toVariant --> <h3 class="fn" id="toVariant"><a name="toVariant"></a><span class="type"><a href="qvariant.html">QVariant</a></span> QJsonValue::<span class="name">toVariant</span>() const</h3> <p>Converts the value to a <a href="qvariant.html#QVariant">QVariant()</a>.</p> <p>The <a href="qjsonvalue.html">QJsonValue</a> types will be converted as follows:</p> <div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tbldscr">Description</th></tr> <tr><td class="topAlign"><code>Null</code></td><td class="topAlign"><a href="qmetatype.html#Type-enum">QMetaType::Nullptr</a></td></tr> <tr><td class="topAlign"><code>Bool</code></td><td class="topAlign"><a href="qmetatype.html#Type-enum">QMetaType::Bool</a></td></tr> <tr><td class="topAlign"><code>Double</code></td><td class="topAlign"><a href="qmetatype.html#Type-enum">QMetaType::Double</a></td></tr> <tr><td class="topAlign"><code>String</code></td><td class="topAlign"><a href="qstring.html">QString</a></td></tr> <tr><td class="topAlign"><code>Array</code></td><td class="topAlign"><a href="qvariant.html#QVariantList-typedef">QVariantList</a></td></tr> <tr><td class="topAlign"><code>Object</code></td><td class="topAlign"><a href="qvariant.html#QVariantMap-typedef">QVariantMap</a></td></tr> <tr><td class="topAlign"><code>Undefined</code></td><td class="topAlign"><a href="qvariant.html#QVariant">QVariant()</a></td></tr> </table></div> <p><b>See also </b><a href="qjsonvalue.html#fromVariant">fromVariant</a>().</p> <!-- @@@toVariant --> <!-- $$$type[overload1]$$$type --> <h3 class="fn" id="type"><a name="type"></a><span class="type"><a href="qjsonvalue.html#Type-enum">QJsonValue::Type</a></span> QJsonValue::<span class="name">type</span>() const</h3> <p>Returns the type of the value.</p> <p><b>See also </b><a href="qjsonvalue.html#Type-enum">QJsonValue::Type</a>.</p> <!-- @@@type --> <!-- $$$operator!=[overload1]$$$operator!=constQJsonValue& --> <h3 class="fn" id="operator-not-eq"><a name="operator-not-eq"></a><span class="type">bool</span> QJsonValue::<span class="name">operator!=</span>(const <span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> &<i>other</i>) const</h3> <p>Returns <code>true</code> if the value is not equal to <i>other</i>.</p> <!-- @@@operator!= --> <!-- $$$operator=[overload1]$$$operator=constQJsonValue& --> <h3 class="fn" id="operator-eq"><a name="operator-eq"></a><span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> &QJsonValue::<span class="name">operator=</span>(const <span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> &<i>other</i>)</h3> <p>Assigns the value stored in <i>other</i> to this object.</p> <!-- @@@operator= --> <!-- $$$operator=$$$operator=QJsonValue&& --> <h3 class="fn" id="operator-eq-1"><a name="operator-eq-1"></a><span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> &QJsonValue::<span class="name">operator=</span>(<span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> &&<i>other</i>)</h3> <p>Move-assigns <i>other</i> to this value.</p> <p>This function was introduced in Qt 5.10.</p> <!-- @@@operator= --> <!-- $$$operator==[overload1]$$$operator==constQJsonValue& --> <h3 class="fn" id="operator-eq-eq"><a name="operator-eq-eq"></a><span class="type">bool</span> QJsonValue::<span class="name">operator==</span>(const <span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> &<i>other</i>) const</h3> <p>Returns <code>true</code> if the value is equal to <i>other</i>.</p> <!-- @@@operator== --> <!-- $$$operator[][overload1]$$$operator[]constQString& --> <h3 class="fn" id="operator-5b-5d"><a name="operator-5b-5d"></a>const <span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> QJsonValue::<span class="name">operator[]</span>(const <span class="type"><a href="qstring.html">QString</a></span> &<i>key</i>) const</h3> <p>Returns a <a href="qjsonvalue.html">QJsonValue</a> representing the value for the key <i>key</i>.</p> <p>Equivalent to calling <a href="qjsonvalue.html#toObject-1">toObject</a>().value(key).</p> <p>The returned <a href="qjsonvalue.html">QJsonValue</a> is <a href="qjsonvalue.html#Type-enum">QJsonValue::Undefined</a> if the key does not exist, or if <a href="qjsonvalue.html#isObject">isObject</a>() is false.</p> <p>This function was introduced in Qt 5.10.</p> <p><b>See also </b><a href="qjsonvalue.html">QJsonValue</a>, <a href="qjsonvalue.html#isUndefined">QJsonValue::isUndefined</a>(), and <a href="qjsonobject.html">QJsonObject</a>.</p> <!-- @@@operator[] --> <!-- $$$operator[]$$$operator[]QLatin1String --> <h3 class="fn" id="operator-5b-5d-1"><a name="operator-5b-5d-1"></a>const <span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> QJsonValue::<span class="name">operator[]</span>(<span class="type"><a href="qlatin1string.html">QLatin1String</a></span> <i>key</i>) const</h3> <p>This is an overloaded function.</p> <p>This function was introduced in Qt 5.10.</p> <!-- @@@operator[] --> <!-- $$$operator[]$$$operator[]int --> <h3 class="fn" id="operator-5b-5d-2"><a name="operator-5b-5d-2"></a>const <span class="type"><a href="qjsonvalue.html#QJsonValue">QJsonValue</a></span> QJsonValue::<span class="name">operator[]</span>(<span class="type">int</span> <i>i</i>) const</h3> <p>Returns a <a href="qjsonvalue.html">QJsonValue</a> representing the value for index <i>i</i>.</p> <p>Equivalent to calling <a href="qjsonvalue.html#toArray-1">toArray</a>().at(i).</p> <p>The returned <a href="qjsonvalue.html">QJsonValue</a> is <a href="qjsonvalue.html#Type-enum">QJsonValue::Undefined</a>, if <i>i</i> is out of bounds, or if <a href="qjsonvalue.html#isArray">isArray</a>() is false.</p> <p>This function was introduced in Qt 5.10.</p> <p><b>See also </b><a href="qjsonvalue.html">QJsonValue</a>, <a href="qjsonvalue.html#isUndefined">QJsonValue::isUndefined</a>(), and <a href="qjsonarray.html">QJsonArray</a>.</p> <!-- @@@operator[] --> </div> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br/> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br/> Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners. </p> </div> </body> </html>