Json文件的读取
QFile file("data.json"); //准备好的文件
file.open(QIODevice::ReadOnly|QIODevice::Text);
QByteArray arr = file.readAll();
QJsonDocument jsonDoc = QJsonDocument::fromJson(arr);
QJsonObject jsonObj = jsonDoc.object();
qint32 id = jsonObj["id"].toInt();
QString glassid = jsonObj["Glassid"].toString();
bool result = jsonObj["Result"].toBool();
qDebug()<<id<<glassid<<result;
提前准备的文件内容:
Json文件的写入
//根据情况设定所需要的类,并实现tojson方法
class Person
{
public:
Person();
Person(int id,QString Glassid,bool Result);
int Id;
QString Glassid;
bool Result;
QJsonObject tojson()const{ //实现方法
QJsonObject obj;
obj["id"]=this->Id;
obj["Glassid"]=this->Glassid;
obj["Result"]=this->Result;
return obj;
}
};
person = Person(10,"20310120727",false); //Person的构造函数
QJsonObject obj1 = person.tojson();;
QJsonDocument jsonDoc1(obj1);
QFile file1("data.json");
if(file1.open(QIODevice::WriteOnly|QIODevice::Text)){
file1.write(jsonDoc1.toJson());
file1.close();
}
else {
qDebug()<<"失败";
}
运行之后: