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

相关文章

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

使用Go调用第三方API的方法详解

《使用Go调用第三方API的方法详解》在现代应用开发中,调用第三方API是非常常见的场景,比如获取天气预报、翻译文本、发送短信等,Go作为一门高效并发的编程语言,拥有强大的标准库和丰富的第三方库,可以... 目录引言一、准备工作二、案例1:调用天气查询 API1. 注册并获取 API Key2. 代码实现3

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映