本文主要是介绍QT-JSON相关API/QJsonDocument/QJsonObject,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
QJsonObject类的相关操作
- 格式化排版
- 创建JSON对象,使用字符串
- 创建JSON对象,使用标准JSON对象
- 获取JSON对象中的值,非数组
- 获取JSON对象中的值,数组
格式化排版
下面的代码将一个符合JSON格式的字符串,格式化成具有缩进格式排版的字符串,代码如下
#include <QJsonDocument>
#include <QDebug>int main(int argc, char *argv[])
{QJsonDocument doc = QJsonDocument::fromJson("{\"descript\": \"我爱武汉的妹子\",\"mark\": \"最好是汉阳区的\"}");QString str=doc.toJson();qDebug()<<str;return 0;
}
创建JSON对象,使用字符串
下面的代码使用一个JSON格式的字符串创建了一个JSON对象
int main(int argc, char *argv[])
{QByteArray jsonStr="{\"descript\": \"我爱武汉的妹子\",\"mark\": \"最好是汉阳区的\"}";QJsonDocument doc = QJsonDocument::fromJson(jsonStr);QJsonObject resultObjet=doc.object();return 0;
}
创建JSON对象,使用标准JSON对象
下面的代码创建了一个JSON对象
#include <QJsonObject>int main(int argc, char *argv[])
{QJsonObject jsonObj;jsonObj.insert("descript","我爱武汉的妹子");jsonObj.insert("mark","最好是汉阳区的");return 0;
}
获取JSON对象中的值,非数组
下面的代码创建了一个JSON对象,并且打印出我爱武汉的妹子
int main(int argc, char *argv[])
{QJsonObject jsonObj;jsonObj.insert("descript","我爱武汉的妹子");jsonObj.insert("mark","最好是汉阳区的");QJsonValue value=jsonObj.value("descript");QString strValue=value.toString();qDebug()<<strValue;// 或者如下qDebug()<<jsonObj["descript"].toString();return 0;
}
获取JSON对象中的值,数组
下面的代码创建了一个包含JSON数组的对象,并且循环打印出武汉
,汉阳区
,马鹦路
int main(int argc, char *argv[])
{QJsonObject jsonObj;jsonObj.insert("city","武汉");QJsonArray array;array.append("武汉");array.append("汉阳区");array.append("马鹦路");jsonObj.insert("locations",array);QJsonArray locations=jsonObj.value("locations").toArray();// 打印每个数组元素的值for (const auto& element : locations) {qDebug() << element.toString();}// 或者如下qDebug()<<locations.at(0).toString();qDebug()<<locations.at(1).toString();qDebug()<<locations.at(2).toString();return 0;
}
这篇关于QT-JSON相关API/QJsonDocument/QJsonObject的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!