void writeQtJson()
{
QJsonObject jsonObj;
jsonObj["FirstName"] = "John";
jsonObj["LastName"] = "Doe";
//嵌套jsonObj
{
QJsonObject Obj;
Obj["Country"] = "Great Britain";
Obj["City"] = "London";
jsonObj["Address"] = Obj;
}
//嵌套jsonArr
{
QJsonArray arr;
arr.push_back("+44 1234567");
jsonObj["Phone"] = arr;
}
QJsonDocument json(jsonObj);
QByteArray ba = json.toJson();
QFile file("./Write.json");
if (file.open(QIODevice::WriteOnly))
{
file.write(ba.data());
}
file.close();
}
结果:
write.json
{
"Address": {
"City": "London",
"Country": "Great Britain"
},
"FirstName": "John",
"LastName": "Doe",
"Phone": [
"+44 1234567"
]
}
1)
jsonObj[QString::fromLocal8bit("电话")] = arr; //可能导致中文乱码
改为:
jsonObj.insert(QString::fromLocal8bit("电话"), arr);
2)
[]有序 {}无序