上一节讲的都是如何将已有json文档中的数据取出利用。本节利用QJsonDocument,将其它类型的数据转化成json文档输出。
————————————
利用QJsonDocument的静态成员函数:
QJsonDocument fromVariant(const QVariant & variant)及公有函数:
QByteArray toJson(JsonFormat format = Indented) const
| Constant | Value | Description |
|---|---|---|
| QJsonDocument::Indented(锯齿状的)默认 | 0 |
转成易读型{
"Array": [
true,
999,
"string"
],
"Key": "Value",
"null": null
} |
| QJsonDocument::Compact(紧凑的) | 1 | 紧凑的样子…… {"Array": [true,999,"string"],"Key": "Value","null": null} |
#include "dialog.h"
#include "ui_dialog.h"
#include <QJsonDocument>
#include <QDebug>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
//基本使用
QMap<QString, QVariant> m_map;
QMap<QString, QVariant> map1;
QMap<QString, QVariant> map2;
map1.insert("姓名","张三");
map1.insert("性别","男");
map1.insert("年龄","25");
map2.insert("姓名","小丽");
map2.insert("性别","女");
map2.insert("年龄","18");
m_map.insert("0",map1);
m_map.insert("1",map2);
QJsonDocument doc=QJsonDocument::fromVariant(QVariant(m_map));
QByteArray a=doc.toJson();
qDebug()<<a;
}
Dialog::~Dialog()
{
delete ui;
}
输出:"{
"0": {
"姓名": "张三",
"年龄": "25",
"性别": "男"
},
"1": {
"姓名": "小丽",
"年龄": "18",
"性别": "女"
}
}
" Qt模块化笔记之core——使用QJsonDocument输出JSON数据
原文:http://blog.csdn.net/iloveqt5/article/details/19038731