Запись в 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" } }