JSON - Qt 对 JSON的处理
1.关于JSON的介绍参考www.json.org
Qt提供处理JSON数据的支持。
QJSonObject类用于封装JSON object;
QJsonDocument类提供读写JSON文档的方法;
QJsonParseError类用于在JSON解析过程中报告错误。
上述三个类均是从Qt 5.0开始支持。
示例:
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QJsonObject> #include <QJsonDocument> #include <QJsonParseError> #include<QDebug>MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi(this);QJsonObject json;json.insert("Type",QString("Rectangle"));json.insert("widght",42);json.insert("height",23);QJsonDocument document;document.setObject(json);QByteArray byteArray = document.toJson(QJsonDocument::Compact);qDebug()<<byteArray;QJsonParseError jsonError;QJsonDocument parseDoc = QJsonDocument::fromJson(byteArray,&jsonError);if(jsonError.error == QJsonParseError::NoError){if(parseDoc.isObject()){QJsonObject jsonObj = parseDoc.object();if(jsonObj.contains("Type")){QJsonValue typeValue = jsonObj.take("Type");if(typeValue.isString()){QString strValue= typeValue.toString();qDebug()<<"Type : "<<strValue;}}if(jsonObj.contains("height")){QJsonValue heightValue = jsonObj.take("height");if(heightValue.isDouble()){int iValue = heightValue.toVariant().toInt();qDebug()<<"height : "<<iValue;}}if(jsonObj.contains("widght")){QJsonValue widghtValue = jsonObj.take("widght");if(widghtValue.isDouble()){int iValue =widghtValue.toVariant().toInt();qDebug()<<"widght : "<<iValue;}}}} }MainWindow::~MainWindow() {delete ui; }
结果如下:
"{\"Type\":\"Rectangle\",\"height\":23,\"widght\":42}" Type : "Rectangle" height : 23 widght : 42
转载于:https://www.cnblogs.com/Pan-Z/p/6425121.html
JSON - Qt 对 JSON的处理相关推荐
- Qt之JSON生成与解析
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December ...
- QT解析 JSON 格式的数据
QT解析 JSON 格式的数据 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON 采用完全独立于语言的文本格式,这些特性使 JSON 成为理想的数 ...
- 【Qt】Qt中JSON简介
00. 目录 文章目录 00. 目录 01. JSON简介 02. JSON Support in Qt 03. JSON类 04. 附录 01. JSON简介 1.1 JSON概述 JSON(Jav ...
- Qt的json对象不具备类似指针、引用的行为导致的更新不成功问题解决
如下代码: QJsonArray actionsArray; QJsonObject totalRootJson; totalRootJson.insert("actionsArray&qu ...
- Qt读取Json文件数据
Qt读取Json文件数据 void TcpServerCfg::initServerCfgList() {serverCfgList.clear();QString name = "./co ...
- Qt读写JSON,以及使用QTreeView展示和编辑JSON数据
0.前言 JSON(JavaScript Object Notation)是一种轻量级的结构化数据格式,相对于XML语法更简洁.它具有6种基本数据类型:bool(true或false字符串表示).do ...
- QT中Json的使用方法(类和json字符串相互转换的方法)
在QT5.0版本以后支持对Json的使用,直接使用QT提供的json类进行数据的组织和解析. Json类 介绍 QJsonDoucument 它封装了一个完整的 JSON 文档,并且可以从 UTF-8 ...
- qt解析json数据
qt解析json的数据,需要使用的类有qjsonobject,qjsonarray,qjsondocument. qjsondocument是用于读取或者写入json文件 qjsonarray是封装一 ...
- Qt对json的处理
Qt处理json Qt中操作json用到的头文件 #include <QJsonDocument> #include <QJsonArray> #include<QJSo ...
- QT读写JSON文件
QT对JSON的处理 JSON的样式 1,Json对象 2,Json数组 QT中对JSON处理 1,写入JSON文件 2,解析JSON文件 JSON的样式 1,Json对象 JSON的样式是可以相互嵌 ...
最新文章
- TypeScript 2.0 已发布
- 管理层如何做好目标管理?战略目标拆解是核心!
- 多进程PHP脚本实现海量数据转移总结
- 错误 LINK : fatal error LNK1158: 无法运行“rc.exe”
- win10上如何启用或禁用Windows功能
- PID控制算法+倒立摆控制应用
- java weblogic 下载_JAVA_weblogic企业级技术 PDF 下载
- 查找主机信息的两个协议:DHCP协议+NBNS协议
- 光纤传输相关问题及讨论
- 终端进入服务器,mac使用Shell(终端)SSH连接远程服务器的方法
- 每日一问 --什么是正弦信号?正弦信号有哪些特性?
- 数据准备脚本:Python Pandas OR esProc SPL?
- vrchat模型保存_轻松简单自己上传VRChat的Avatar
- 蒙特卡洛方法的收敛性和误差
- 倾向得分匹配只看这篇就够了
- 推荐电影名字列表04.18
- Web3中的征信系统该如何构建?
- 图解B+树并和B-树特点对比总结
- 西门子PLC OPC配置及开发
- 丁俊晖8年后重返大师赛4强 半决赛再会奥沙利文