Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何将QJsonObject转换为QString_Qt_Qstring_Qjsonobject - Fatal编程技术网

Qt 如何将QJsonObject转换为QString

Qt 如何将QJsonObject转换为QString,qt,qstring,qjsonobject,Qt,Qstring,Qjsonobject,我有一个QJsonObject数据,希望转换为QString。我该怎么做?在Qt中搜索帮助,它只能将QJsonObject转换为QVariantMap 提前感谢。记得我第一次需要这样做的时候,文档可能有点缺乏,并且假设您了解其他QJson类 要获取QJsonObject的QString,需要使用QJsonDocument类,如下所示:- QJsonObject jsonObj; // assume this has been populated with Json data QJsonDocu

我有一个QJsonObject数据,希望转换为QString。我该怎么做?在Qt中搜索帮助,它只能将QJsonObject转换为QVariantMap


提前感谢。

记得我第一次需要这样做的时候,文档可能有点缺乏,并且假设您了解其他QJson类

要获取QJsonObject的QString,需要使用QJsonDocument类,如下所示:-

QJsonObject jsonObj; // assume this has been populated with Json data

QJsonDocument doc(jsonObj);
QString strJson(doc.toJson(QJsonDocument::Compact));
启用宏QT_NO_CAST_FROM_ASCII时,可以执行以下操作:

或者更好,根据以下示例使用QLatin1StringQByteArray&:


我们可以在一行中完成这项工作

QString strFromObj = QJsonDocument(jsonObject).toJson(QJsonDocument::Compact).toStdString().c_str();

您正在寻找的类是QJsonDocument:应该提到的是,QJsonDocument::toJson返回一个UTF-8格式的QByteArray。或者只是QString strFromObj=QJsonDocumentjsonObject.toJsonQJsonDocument::Compact;
QJsonDocument doc(jsonObj);
QByteArray docByteArray = doc.toJson(QJsonDocument::Compact);
Qstring strJson = QLatin1String(docByteArray);
QString strFromObj = QJsonDocument(jsonObject).toJson(QJsonDocument::Compact).toStdString().c_str();