保存json文档
分为:QJsonObject 、QJsonArray;一个是对象,一个是数组;
对象是{} ,数组是[]形式;
1、对象添加是直接插入
QJsonObject obj1; //创建一个对象
obj1.insert("broadcastName", "实时音频文件广播111");//对obj1放值;
效果是 {
"broadcastName": "实时音频文件广播111", }
2、数组添加是:
QJsonObject arr2; //首先创建一个对象,添加值进对象;
arr1.insert("Number", "1");
arr1.insert("fileName", "校园广播体操音乐");
arr1.insert("fileLocation ", " C:/Users/Admin/Documents ");
QJsonArray array;//创建一个数组的对象
array.push_back(arr2); //在将对象放到数组中来
obj1.insert("fileList", array);//再讲数组放到对象中
效果是:
"fileList": [
{
"Number": "1",
"fileLocation": "C:/Users/Admin/Documents",
"fileName": "校园广播体操音乐"
},
{
"Number": "1",
"fileLocation": "C:/Users/Admin/Documents",
"fileName": "校园广播体操音乐"
}
],
3、最后 写入文档中
QJsonDocument jsonDoc(obj3);
QByteArray ba = jsonDoc.toJson();
QFile file("result_C.json");
if(!file.open(QIODevice::WriteOnly))
{
qDebug() << "write json file failed";
}
file.write(ba);
file.close();
完整代码
:QJsonObject obj1;
obj1.insert("broadcastName", "实时音频文件广播111");
obj1.insert("broadcastType", 23);
obj1.insert("playModel", "顺序播放");
QJsonObject arr1;
arr1.insert("Number", "1");
arr1.insert("fileName", "校园广播体操音乐");
arr1.insert("fileLocation", "C:/Users/Admin/Documents");
QJsonObject arr2;
arr2.insert("Number", "1");
arr2.insert("fileName", "校园广播体操音乐");
arr2.insert("fileLocation", "C:/Users/Admin/Documents");
QJsonArray array;
array.push_back(arr1);
array.push_back(arr2);
obj1.insert("fileList", array);
QJsonObject obj3;
obj3.insert("音频文件广播1", obj1);
qDebug() << obj3;
QJsonDocument jsonDoc(obj3);
QByteArray ba = jsonDoc.toJson();
QFile file("result_C.json");
if(!file.open(QIODevice::WriteOnly))
{
qDebug() << "write json file failed";
}
file.write(ba);
file.close();