Qt使用QJson生成json文件並保存

#include <QJsonDocument>
#include <QJsonParseError>
#include <QFile>
#include <QJsonObject>
#include <QDebug>
#include <QJsonArray>
#include <QByteArray>

void createJson()
{
	QVariantHash data;

	QVariantHash subData1;
	subData1.insert("name", "apple");
	subData1.insert("icon", "appleIcon");
	subData1.insert("describe", "an apple");

	data.insert("first fruit", subData1);

	QVariantHash subData2;
	subData2.insert("name", "orange");
	subData2.insert("icon", "orangeIcon");
	subData2.insert("describe", "an orange");
	data.insert("second fruit", subData2);

	QJsonArray array1;
	for (int i = 0; i < 5; i++)
	{
		array1.insert(i, QString::fromLocal8Bit("eat %1").arg(i));
	}

	data.insert("three fruit array", array1);

	QJsonObject rootObj = QJsonObject::fromVariantHash(data);
	QJsonDocument document;
	document.setObject(rootObj);

	QByteArray byte_array = document.toJson(QJsonDocument::Compact);
	QString json_str(byte_array);
	//根據實際填寫路徑
	QFile file("D:\\1.json");

	if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
	{
		qDebug() << "file error!";
	}
	QTextStream in(&file);
	in << json_str;

	file.close();   // 關閉file
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章