Запись в Json файл по средствам Qt
Пример записи нескольких примеров Json файла с примерами фрагмента кода и иллюстрации выходных файлов Json
Для записи будем использовать уже знакомые ранее типы данных и классы. Рассмотрим небольшой фрагмент:
QJsonObject recordObject;
recordObject.insert("Test1", QJsonValue::fromVariant("1"));
recordObject.insert("Test2", QJsonValue::fromVariant(123.4));
recordObject.insert("Test3", QJsonValue::fromVariant(43));
recordObject.insert("Test4", QJsonValue::fromVariant(true));
recordObject.insert("Test5", QJsonValue::fromVariant(QByteArray("1,2,3,4,5")));
QJsonArray numbersArray;
numbersArray.push_back("1");
numbersArray.push_back("2");
numbersArray.push_back("3");
recordObject.insert("Test6",numbersArray);
QJsonDocument doc(recordObject);
QString jsonString = doc.toJson(QJsonDocument::Indented);
//Записываем данные в файл
QFile file;
file.setFileName("test1.json");
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream stream( &file );
stream << jsonString;
file.close();
На выходе получится файл test1.json со следующим содержимым:
test1.json
{
"Test1": "1",
"Test2": 123.4,
"Test3": 43,
"Test4": true,
"Test5": "1,2,3,4,5",
"Test6": [
"1",
"2",
"3"
]
}
Создадим более сложный файл:
QJsonObject recordObject;
QJsonObject objObject;
objObject.insert("Test1", "1");
objObject.insert("Test2", "2");
objObject.insert("Test3", "3");
QJsonObject obj2Object;
obj2Object.insert("Test4", "4");
obj2Object.insert("Test5", "5");
obj2Object.insert("Test6", "6");
obj2Object.insert("Test7", QJsonValue::fromVariant("1"));
obj2Object.insert("Test8", QJsonValue::fromVariant(123.4));
obj2Object.insert("Test9", QJsonValue::fromVariant(43));
obj2Object.insert("Test10", QJsonValue::fromVariant(true));
objObject.insert("Test11", obj2Object);
recordObject.insert("Test12",objObject);
QJsonDocument doc(recordObject);
QString jsonString = doc.toJson(QJsonDocument::Indented);
QFile file;
file.setFileName("test2.json");
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream stream( &file );
stream << jsonString;
file.close();
Содержимое файла test2.json:
test2.json
{
"Test12": {
"Test1": "1",
"Test11": {
"Test10": true,
"Test4": "4",
"Test5": "5",
"Test6": "6",
"Test7": "1",
"Test8": 123.4,
"Test9": 43
},
"Test2": "2",
"Test3": "3"
}
}
