QT的Json使用,封装包及解析包,哈希加密算法(主使用Md5)

1、Qt的Json的介绍

#include <QJsonDocument>    //json文件
#include <QJsonObject>      //json对象
#include <QJsonArray>       //QJsonObject数组

1>、Qt中Json的组装结构
/*
        QJsonDocument  //整个双引号里面的
        "
        //大括号里面是QJsonObject
        {
            "key":value
            //也可包含数组
            [
                //数组里又是一个一个的对象
                {},{}
            ]
        }
        "
*/

/*
    //QJsonArray
    [
        //每个都是QJsonObject
        {},
        {},
        {},
    ]
*/
2>、由此可得
    a、QJsonObject负责组装节点,QJsonDocument负责整个文档的读写和加载。
    b、综上一个QJsonDocument可以由一个QJonObject构成,也可以由一个QJsonObject数组构成。

2、组装Json数据,以及用MD5加密密码

#include <QCryptographicHash>   //使用哈希加密的头文件

	QByteArray md5 = QCryptographicHash::hash("123456",
                             QCryptographicHash::Md5);      //第二个参数表示用什么加密方式
    //MD5是一个16字节的数组,数据库里保存的也是MD5
    //客户端给服务器传过来一个MD5时只需要比较是否与服务器里的MD5是否一样就可以判断

    QJsonObject obj;
    obj.insert("username", QString("root"));
    obj.insert("password", QString(md5.toHex()));//toHex会把16字节转化为32字节
    obj.insert("male", true);
    obj.insert("age", 22);

    QJsonDocument doc(obj);
    QByteArray json = doc.toJson(); //其内部参数表示采用什么格式来表现
                                    //默认为Indented, 紧凑为Compact
    qDebug() << QString(json).toStdString().data();		//打印组装好的数据

3、对收到的Json数据进行解析

//解析json
    //QJsonDocument doc2 = QJsonDocument::fromJson(json);
    //QJsonObject obj2 = doc2.object();
    QJsonObject obj2 = QJsonDocument::fromJson(json).object();

    if(obj2.value("username").toString() == "root")
    {
        qDebug() << "yes";
    }
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值