您的位置:首页 > 编程语言 > Qt开发

Qt之JSON解析

2017-01-23 23:23 399 查看
#include <QCoreApplication>
#include <QDebug>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonParseError>
//如果最外层是{},那么QJsonDocument由一个QJsonObject构成
//最外层是[],那么QJsonDocument由一个QJsonArray构成
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString jsonstr1 = "{\"name\":\"john\", \"age\":24 }";
QString jsonstr2 = "[true,999,\"string\"]";//转义字符
QJsonParseError jsonErr;
QJsonDocument doucment = QJsonDocument::fromJson(jsonstr1.toLatin1(),&jsonErr);
if (!doucment.isNull() && (jsonErr.error == QJsonParseError::NoError))// 解析未发生错误
{
if (doucment.isObject())   // JSON 文档为对象
    {
QJsonObject object = doucment.object();  // 转化为对象
if (object.contains("name"))
{
QJsonValue value = object.value("name");
qDebug()<<value;
}
}
if (doucment.isArray()) // JSON文档为数组
    {
QJsonArray array = doucment.array();  // 转化为数组
int nSize = array.size();  // 获取数组大小
for (int i = 0; i < nSize; ++i)
{
QJsonValue value = array.at(i);
qDebug() << value;
}
}
}
return a.exec();
}
参考博客:http://blog.csdn.net/liang19890820/article/details/52767153
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: