main.cpp
#include <QCoreApplication>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonDocument>
#include <QDebug>
#include <time.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
time_t t = time(NULL);
char currentTime[14] = {0};
strftime(currentTime, 14, "%y%m%d%H%M%S", localtime(&t));
// 构建 Json 对象
QJsonObject Obj;
// 构建 Json 数组
QJsonArray array;
Obj.insert("name" , "Qt");
Obj.insert("version", 5.2);
Obj.insert("t", currentTime);
array.append(Obj);
QJsonObject obj;
obj.insert("OS", "Ubuntu");
obj.insert("software", QJsonValue(array));
qDebug()<<obj;
// 构建 Json 文档
QJsonDocument document;
document.setObject(obj);
QByteArray byteArray = document.toJson();
QFile f("test.json");
if(!f.open(QIODevice::WriteOnly | QIODevice::Text))
{
qDebug()<<"open error";
}
f.write(byteArray);
f.close();
//清空 Json 数据
for(int i=0;i<array.size();i++)
{
array.removeAt(i);
}
return a.exec();
//解析Json
QJsonDocument jsonDocument = QJsonDocument::fromJson(QString::fromStdString(string).toLocal8Bit().data());
if(jsonDocument.isNull())
{
cout<<"webService response is null."<<endl;
}
cout<<"return msg: "<<QString::fromStdString(jsonDocument.toJson().data()).toStdString()<<endl;
// if(jsonDocument.isObject())
// {
// QJsonObject obj = jsonDocument.object();
// if(obj.contains("status"))
// {
// QJsonValue name_value = obj.take("status");
// if(name_value.isDouble())
// {
// cout<<name_value.toVariant().toInt()<<endl;
// }
// }
// }
}