如何进行QJsonArray字符串与QVariantList对象相互转换

如何进行QJsonArray字符串与QVariantList 对象相互转换,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,成都服务器托管成都服务器托管,成都多线服务器托管等服务器托管服务。

在Qt中QVariantList 使用起来很方便,如果涉及到数据的传输,需要将QVariantList 数据转换为JsonArray字符串,这个转换Qt已经实现好了,只需要调用接口就可以完成转换,代码如下:

main.cpp

#include #include #include #include #include  #include #include #include   int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);     QVariantList QVarList;     QVariantMap tmpvm;    for ( int i = 0; i < 3; i ++ )    {        tmpvm.clear();        tmpvm["name"] = QString("Test%1").arg(i);        tmpvm["no"] = QString::number(i);         QVarList<    }     qDebug()<<"qvarList: "<      //QVariantList转为Jsonarray字符串    QJsonArray jsonArray = QJsonArray::fromVariantList(QVarList);     QJsonDocument jsonDoc(jsonArray);    qDebug()<<"------------------------------QVariantList to json-------------------------------";    qDebug() << jsonDoc.toJson();     //Jsonarray字符串转为QVariantList    QString str = "[{\"no\": \"1\", \"name\": \"Jack\"},{\"no\": \"2\", \"name\": \"Tom\"},{\"no\": \"3\", \"name\": \"Stans\"}]";    QJsonDocument json = QJsonDocument::fromJson(str.toLatin1());    qDebug()<<"------------------------------json to QVariantList-------------------------------";     qDebug()<<"qvarList: "<      return a.exec();}

执行结果:

为了查看方便,下面的结果手动调整了下格式。


qvarList:  (QVariant(QVariantMap, QMap(("name", QVariant(QString, "Test0"))("no", QVariant(QString, "0")))), QVariant(QVariantMap, QMap(("name", QVariant(QString, "Test1"))("no", QVariant(QString, "1")))), QVariant(QVariantMap, QMap(("name", QVariant(QString, "Test2"))("no", QVariant(QString, "2")))))
------------------------------QVariantList to json-------------------------------"[ { "name": "Test0", "no": "0" }, { "name": "Test1", "no": "1" }, { "name": "Test2", "no": "2" }]"------------------------------json to QVariantList-------------------------------qvarList:  (QVariant(QVariantMap, QMap(("name", QVariant(QString, "Jack"))("no", QVariant(QString, "1")))), QVariant(QVariantMap, QMap(("name", QVariant(QString, "Tom"))("no", QVariant(QString, "2")))),QVariant(QVariantMap, QMap(("name", QVariant(QString, "Stans"))("no", QVariant(QString, "3")))))

看完上述内容,你们掌握如何进行QJsonArray字符串与QVariantList 对象相互转换的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


标题名称:如何进行QJsonArray字符串与QVariantList对象相互转换
转载注明:http://myzitong.com/article/pspgdj.html