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的处理相关推荐

  1. Qt之JSON生成与解析

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December ...

  2. QT解析 JSON 格式的数据

    QT解析 JSON 格式的数据 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON 采用完全独立于语言的文本格式,这些特性使 JSON 成为理想的数 ...

  3. 【Qt】Qt中JSON简介

    00. 目录 文章目录 00. 目录 01. JSON简介 02. JSON Support in Qt 03. JSON类 04. 附录 01. JSON简介 1.1 JSON概述 JSON(Jav ...

  4. Qt的json对象不具备类似指针、引用的行为导致的更新不成功问题解决

    如下代码: QJsonArray actionsArray; QJsonObject totalRootJson; totalRootJson.insert("actionsArray&qu ...

  5. Qt读取Json文件数据

    Qt读取Json文件数据 void TcpServerCfg::initServerCfgList() {serverCfgList.clear();QString name = "./co ...

  6. Qt读写JSON,以及使用QTreeView展示和编辑JSON数据

    0.前言 JSON(JavaScript Object Notation)是一种轻量级的结构化数据格式,相对于XML语法更简洁.它具有6种基本数据类型:bool(true或false字符串表示).do ...

  7. QT中Json的使用方法(类和json字符串相互转换的方法)

    在QT5.0版本以后支持对Json的使用,直接使用QT提供的json类进行数据的组织和解析. Json类 介绍 QJsonDoucument 它封装了一个完整的 JSON 文档,并且可以从 UTF-8 ...

  8. qt解析json数据

    qt解析json的数据,需要使用的类有qjsonobject,qjsonarray,qjsondocument. qjsondocument是用于读取或者写入json文件 qjsonarray是封装一 ...

  9. Qt对json的处理

    Qt处理json Qt中操作json用到的头文件 #include <QJsonDocument> #include <QJsonArray> #include<QJSo ...

  10. QT读写JSON文件

    QT对JSON的处理 JSON的样式 1,Json对象 2,Json数组 QT中对JSON处理 1,写入JSON文件 2,解析JSON文件 JSON的样式 1,Json对象 JSON的样式是可以相互嵌 ...

最新文章

  1. TypeScript 2.0 已发布
  2. 管理层如何做好目标管理?战略目标拆解是核心!
  3. 多进程PHP脚本实现海量数据转移总结
  4. 错误 LINK : fatal error LNK1158: 无法运行“rc.exe”
  5. win10上如何启用或禁用Windows功能
  6. PID控制算法+倒立摆控制应用
  7. java weblogic 下载_JAVA_weblogic企业级技术 PDF 下载
  8. 查找主机信息的两个协议:DHCP协议+NBNS协议
  9. 光纤传输相关问题及讨论
  10. 终端进入服务器,mac使用Shell(终端)SSH连接远程服务器的方法
  11. 每日一问 --什么是正弦信号?正弦信号有哪些特性?
  12. 数据准备脚本:Python Pandas OR esProc SPL?
  13. vrchat模型保存_轻松简单自己上传VRChat的Avatar
  14. 蒙特卡洛方法的收敛性和误差
  15. 倾向得分匹配只看这篇就够了
  16. 推荐电影名字列表04.18
  17. Web3中的征信系统该如何构建?
  18. 图解B+树并和B-树特点对比总结
  19. 西门子PLC OPC配置及开发
  20. 丁俊晖8年后重返大师赛4强 半决赛再会奥沙利文

热门文章

  1. 操作~拷贝clone()
  2. Windows Live Write:主流BSP的支持情况
  3. SQL Server2005的XML数据类型之基础篇 (4)
  4. 传统机器学习流程总结
  5. 史**_python保存为txt
  6. pandas-pandas.Categorical
  7. Git简洁教程:本地项目如何与GitHub互连
  8. 《Objective-C 程序设计(第4版) 》图书信息
  9. 头衔的权威暗示影响力
  10. Mobile Widget是一种新的手机应用形式吗