在QT中使用JSON

在QT中使用JSON

在QT中使用JSON数据包其实很简单

1. QT中如何使用JSON

JSON数据包一般有两种形式,一种是对象,一种是数组。用大括号 {} 扩起来的叫对象,用中括号 [] 扩起来的叫数组。

  • 如何创建对象
    添加头文件

    #include <QJsonObject>
    

    创建对象

       QJsonObject rectJson;
       rectJson.insert("name","张三");//填充对象
       rectJson.insert("age",30)//填充对象
    
  • 如何创建数组
    添加头文件

    #include <QJsonArray> 
    

    创建数组

    QJsonArray rectJson;
    	rectJson.append("贝贝"); //填充数组
    	rectJson.append("晶晶"); //填充数组
    	rectJson.append("欢欢"); //填充数组
    	rectJson.append("迎迎"); //填充数组
    	rectJson.append("妮妮"); //填充数组
    

    写一个稍微复杂点的JSON数据包

    QJsonObject rectJson;	//填充主对象
    rectJson.insert("地点","中国"); 
    
    QJsonObject rectData;	//填充二级对象
    rectData.insert("具体地点","北京");
    rectData.insert("时间","2008");
    
    QJsonArray rectArray;	//填充数组
    rectArray.append("贝贝");
    rectArray.append("晶晶");
    rectArray.append("欢欢");
    rectArray.append("迎迎");
    rectArray.append("妮妮");
    
    rectData.insert("福娃",rectArray);	//将数组加入二级对象中
    rectJson.insert("奥运",rectData); 	//将二级对象加入主对象中
    

    结果
    在这里插入图片描述

2. JSON和Qstring之间的转换

  • JSON 转成 QString
    	QString QJsonToQString(const QJsonObject& jsonObject)
    {
        return QString(QJsonDocument(jsonObject).toJson());
    }
    
  • QString 转成 JSON
    	QJsonObject QStringToQJson(const QString jsonString)
    {
        QTextCodec *tc = QTextCodec::codecForName("UTF-8");
        QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonString.toUtf8().data());
        QJsonObject jsonObject = jsonDocument.object();
        return jsonObject;
    }
    
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值