在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
    点赞
  • 1
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页

打赏

时费

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者