MyWidget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
signals:
public slots:
};
#endif // MYWIDGET_H
Mywidget.cpp
#include "MyWidget.h"
#include <QApplication>
#include <QJsonDocument>//整个文档的读写、加载
#include <QJsonObject> //组装节点
#include <QDebug>
#include <QCryptographicHash>//md5 加密文件
//md5 一种加密方法 ,我以前看什么网站攻防时见过 人家拿md5解密查password
/*
"{
"key": value
[
{},{},
]
}"
*/
/*
[
{},
{},
{}
]
*/
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent)
{
QByteArray md5 = QCryptographicHash::hash(QByteArray("xueguoliang"), QCryptographicHash::Md5);
QJsonObject obj;
obj.insert("username", QString("xueguoliang")); //QJsonValue没有char*的构造函数
obj.insert("password", QString(md5.toHex()));
obj.insert("male", true);
obj.insert("age", 36);
QJsonDocument doc(obj);
QByteArray json = doc.toJson(); //储存json文档
qDebug() << json;
// QJsonDocument doc2 = QJsonDocument::fromJson(json); //解析json
// QJsonObject obj2 = doc2.object();
QJsonObject obj2 = QJsonDocument::fromJson(json).object();
if(obj2.value("username").toString() == "xueguoliang")
{
qDebug() << "yes";
}
}
int main(int argc, char** argv)
{
QApplication app(argc, argv);
MyWidget w;
w.show();
return app.exec();
}