新建一个Qt空项目
17Json.pro
HEADERS
+=
\
MyWidget.h
SOURCES
+=
\
MyWidget.cpp
QT
+=
widgets gui
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> //用于加密的头文件
/*json的数据类型*/
/*
"{
"key": value
[
{},{},
]
}"
*/
/*
[
{},
{},
{}
]
*/
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent)
{
//使用md5加密
QByteArray md5 = QCryptographicHash::hash(QByteArray("涂作权"),
QCryptographicHash::Md5);
QJsonObject obj;
obj.insert("username",QString("涂作权"));
obj.insert("password",QString(md5.toHex()));
obj.insert("male",true);
obj.insert("age",24);
QJsonDocument doc(obj);
QByteArray json = doc.toJson();
qDebug() << json;
//QJsonDocument doc2 = QJsonDocument::fromJson(json);
//QJsonObject obj2 = doc2.object();
QJsonObject obj2 = QJsonDocument::fromJson(json).object();
if(obj2.value("username").toString() == "涂作权")
{
qDebug() << "yes";
}
}
int main(int argc,char** argv)
{
QApplication app(argc,argv);
MyWidget w;
w.show();
return app.exec();
}
运行结果:
时间: 2024-09-30 08:05:59