当前位置: 首页 > news >正文

梅州公司做网站安卓android下载安装

梅州公司做网站,安卓android下载安装,sql2008做网站,谁能给我一个网址概述: Qt中使用Json比较方便,不像纯C需要导入CJson RapidJson JsonCpp等第三方的库,主要使用到QJsonDocument、QJsonObject对象即可 1、如何构造一个json字符串 假如我们需要构造 {"cmd":"1001","data":{"content&q…

概述: Qt中使用Json比较方便,不像纯C++需要导入CJson RapidJson JsonCpp等第三方的库,主要使用到QJsonDocument、QJsonObject对象即可

1、如何构造一个json字符串

        假如我们需要构造 {"cmd":"1001","data":{"content":"05:00","type":1}} 这样的json串,在Qt中应该这样编写代码

main.cpp

#include <QApplication>
#include <QWidget>
#include <QDebug>//cc-tools里面生成的动态库
#include "CcJsonTool.h"int main(int argc, char *argv[])
{auto cmd = 1001;auto type = 1;auto content = "05:00";QVariantMap contentMap;contentMap["cmd"] = QString::number(cmd);QVariantMap dataMap;dataMap["type"] = type;dataMap["content"] = content;contentMap["data"] = dataMap;//使用工具构建CcJsonTool jsonTool;auto str = jsonTool.toJsonFromVariantMap(contentMap);qDebug() << "jsonStr:" << str;}

CcJsonTool.h

#pragma once#include "cc_tools_global_config.h"#include <QString>
#include <QObject>
#include <QVariantMap>class CCTOOLS_EXPORT CcJsonTool : public QObject
{Q_OBJECT
public:CcJsonTool(QObject* parent = nullptr);~CcJsonTool();QString toJsonFromVariantMap(QVariantMap dataMap);bool ParseJsonFromString(const QString& jsonData);
};

CcJsonTool.cpp

#include "CcJsonTool.h"#include <QJsonDocument>
#include <QJsonObject>CcJsonTool::CcJsonTool(QObject* parent)
:QObject(parent)
{}CcJsonTool::~CcJsonTool()
{}QString CcJsonTool::toJsonFromVariantMap(QVariantMap dataMap)
{// dataMap: {"cmd":"1001","data":{"content":"05:00","type":1}}QByteArray command = QJsonDocument(QJsonObject::fromVariantMap(dataMap)).toJson(QJsonDocument::Compact);return QString::fromUtf8(command);
}bool CcJsonTool::parseJsonFromString(const QString& jsonData)
{// jsonData: {"cmd":"1001","data":{"content":"05:00","type":1}}QJsonParseError error;auto jsonDoc = QJsonDocument::fromJson(jsonData.toUtf8(), &error);if (error.error != QJsonParseError::NoError){return false;}auto mapContent = jsonDoc.object().toVariantMap();if (!mapContent.contains("cmd") || !mapContent.contains("data")){return false;}auto mapData = mapContent["data"].toMap();if (!mapData.contains("content")){return false;}auto cmd = mapContent["cmd"].toString().toUInt();if (cmd == 1001){auto type = mapData["type"].toInt();auto content = mapData["content"];}return true;
}

2、解析一个Json字符串

main.cpp

#include <QApplication>
#include <QWidget>
#include <QDebug>//cc-tools里面生成的动态库
#include "CcJsonTool.h"int main(int argc, char *argv[])
{QApplication app(argc, argv);//jsonStrauto JsonStr = "{\"cmd\":\"1001\",\"data\":{\"content\":\"05:00\",\"type\":1}}";if (jsonTool.parseJsonFromString(JsonStr)){qDebug() << "parse json str success";}else{qDebug() << "parse json str failed";}return app.exec();
}

3、参考gitee仓库上的测试源码

CcQtApp: Qt测试demo

http://www.yayakq.cn/news/515002/

相关文章:

  • 响应式大学网站个人主页模版
  • 做自我介绍的网站的图片素材怎么用centos做网站
  • 上街三屏网站建设有没有代加工的网站
  • 辽宁工程建设工程信息网站建设网站一般要多久到账
  • 网站建设7个主要流程图网站建设技术网站
  • 广州省建设厅官方网站wordpress去除tag
  • 网站推广软文中学网站源码
  • 斐讯k3做网站设计师网名叫什么好听
  • 通州 网站建设设计房子的软件免费
  • 网站建立数据库wordpress文章末尾加上相关文章
  • 济南网站设计哪家好网站系统开发
  • 网站专业是学什么网站建设如何提案
  • 望城区建设局网站wordpress登录后台闪退
  • 小企业网站价格做网站分辨率多少
  • 淘宝网站建设策划书宝宝个人网站模板
  • 椒江区建设局网站农村电商网站建设方案
  • 百度怎样建立网站链接网站后台空间满了怎么办
  • 想自己做衣服上哪个网站学进入网站前如何做环境检测
  • 网站自适应怎么做移动互联网开发好就业吗
  • 福建省住房建设厅网站6流感用什么药更好
  • 网站充值接口怎么做建设工程信息在哪个网站
  • 合肥网站开发公司电话网站建设设计公司哪家好
  • 做中学网站脚上起小水泡很痒是什么原因
  • 扬中企业网站优化哪家好网站建设小企业案例
  • wordpress多站点教程网站自己怎么做优化
  • 聚通达网站建设如何引流推广
  • 国外的网站服务商企业取名
  • 一个域名可以绑定几个网站吗又拍云 wordpress使用
  • 网站单页在线做网站怎么写预算
  • 基于jsp的购物网站开发永川网站制作