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

相关文章

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.

一文详解如何在Vue3中封装API请求

《一文详解如何在Vue3中封装API请求》在现代前端开发中,API请求是不可避免的一部分,尤其是与后端交互时,下面我们来看看如何在Vue3项目中封装API请求,让你在实现功能时更加高效吧... 目录为什么要封装API请求1. vue 3项目结构2. 安装axIOS3. 创建API封装模块4. 封装API请求

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转