QT-JSON相关API/QJsonDocument/QJsonObject

2024-01-15 19:44

本文主要是介绍QT-JSON相关API/QJsonDocument/QJsonObject,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

QJsonObject类的相关操作

  • 格式化排版
  • 创建JSON对象,使用字符串
  • 创建JSON对象,使用标准JSON对象
  • 获取JSON对象中的值,非数组
  • 获取JSON对象中的值,数组

格式化排版

下面的代码将一个符合JSON格式的字符串,格式化成具有缩进格式排版的字符串,代码如下

#include <QJsonDocument>
#include <QDebug>int main(int argc, char *argv[])
{QJsonDocument doc = QJsonDocument::fromJson("{\"descript\": \"我爱武汉的妹子\",\"mark\": \"最好是汉阳区的\"}");QString str=doc.toJson();qDebug()<<str;return 0;
}

创建JSON对象,使用字符串

下面的代码使用一个JSON格式的字符串创建了一个JSON对象

int main(int argc, char *argv[])
{QByteArray jsonStr="{\"descript\": \"我爱武汉的妹子\",\"mark\": \"最好是汉阳区的\"}";QJsonDocument doc = QJsonDocument::fromJson(jsonStr);QJsonObject resultObjet=doc.object();return 0;
}

创建JSON对象,使用标准JSON对象

下面的代码创建了一个JSON对象

#include <QJsonObject>int main(int argc, char *argv[])
{QJsonObject jsonObj;jsonObj.insert("descript","我爱武汉的妹子");jsonObj.insert("mark","最好是汉阳区的");return 0;
}

获取JSON对象中的值,非数组

下面的代码创建了一个JSON对象,并且打印出我爱武汉的妹子


int main(int argc, char *argv[])
{QJsonObject jsonObj;jsonObj.insert("descript","我爱武汉的妹子");jsonObj.insert("mark","最好是汉阳区的");QJsonValue value=jsonObj.value("descript");QString strValue=value.toString();qDebug()<<strValue;// 或者如下qDebug()<<jsonObj["descript"].toString();return 0;
}

获取JSON对象中的值,数组

下面的代码创建了一个包含JSON数组的对象,并且循环打印出武汉汉阳区马鹦路

int main(int argc, char *argv[])
{QJsonObject jsonObj;jsonObj.insert("city","武汉");QJsonArray array;array.append("武汉");array.append("汉阳区");array.append("马鹦路");jsonObj.insert("locations",array);QJsonArray locations=jsonObj.value("locations").toArray();// 打印每个数组元素的值for (const auto& element : locations) {qDebug() << element.toString();}// 或者如下qDebug()<<locations.at(0).toString();qDebug()<<locations.at(1).toString();qDebug()<<locations.at(2).toString();return 0;
}

这篇关于QT-JSON相关API/QJsonDocument/QJsonObject的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/610003

相关文章

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA