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

创新互联专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,成都服务器托管,成都服务器托管,成都多线服务器托管等服务器托管服务。
在Qt中QVariantList 使用起来很方便,如果涉及到数据的传输,需要将QVariantList 数据转换为JsonArray字符串,这个转换Qt已经实现好了,只需要调用接口就可以完成转换,代码如下:
main.cpp
#include#include#include#include#include#include#include#includeint 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字符串转为QVariantListQString 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对象相互转换
网页URL:http://www.jxjierui.cn/article/pspgdj.html


咨询
建站咨询
