Json示例

这里写目录标题

  • Cjson
  • C++ JSon
  • QT json

Cjson

#include  <stdio.h>
#include <stdlib.h>
#include "cjson.h"
// 向JSON对象中添加数据   
cJSON_AddStringToObject(root, "name", "John");
cJSON_AddNumberToObject(root, "age", 30);
cJSON_AddStringToObject(root, "city", "New York");// 将JSON对象序列化为JSON字符串
char *jsonString = cJSON_Print(root);if (jsonString) {printf("JSON String: %s\n", jsonString);// 解析JSON字符串为JSON对象cJSON *parsedRoot = cJSON_Parse(jsonString);if (parsedRoot) {cJSON *name = cJSON_GetObjectItem(parsedRoot, "name");cJSON *age = cJSON_GetObjectItem(parsedRoot, "age");cJSON *city = cJSON_GetObjectItem(parsedRoot, "city");if (name && age && city) {printf("Parsed JSON Data:\n");printf("Name: %s\n", name->valuestring);printf("Age: %d\n", age->valueint);printf("City: %s\n", city->valuestring);}// 释放解析后的JSON对象cJSON_Delete(parsedRoot);} else {printf("JSON parsing failed.\n");}// 释放JSON字符串free(jsonString);
} else {printf("JSON serialization failed.\n");
}// 释放JSON对象
cJSON_Delete(root);return 0;

}
`

//嵌套对象使用
#include <stdio.h>
#include <stdlib.h>
#include <cJSON.h>int main() {// 创建根对象cJSON *root = cJSON_CreateObject();// 创建嵌套对象1cJSON *nestedObject1 = cJSON_CreateObject();cJSON_AddStringToObject(nestedObject1, "name", "John");cJSON_AddNumberToObject(nestedObject1, "age", 30);// 添加嵌套对象1到根对象cJSON_AddItemToObject(root, "person1", nestedObject1);// 创建嵌套对象2cJSON *nestedObject2 = cJSON_CreateObject();cJSON_AddStringToObject(nestedObject2, "name", "Alice");cJSON_AddNumberToObject(nestedObject2, "age", 25);// 添加嵌套对象2到根对象cJSON_AddItemToObject(root, "person2", nestedObject2);// 将根对象转换为 JSON 字符串char *jsonString = cJSON_Print(root);// 输出 JSON 字符串printf("%s\n", jsonString);// 释放内存cJSON_Delete(root);free(jsonString);return 0;
}

C++ JSon

#include <iostream>
#include "json.hpp"
#include <windows.h>
using namespace std;
namespace ns {// a simple struct to model a personstruct person {std::string name;std::string address;int age;};
}using json = nlohmann::json;
int main()
{//HWND hWnd = GetForegroundWindow(); // 获取当前窗口句柄//ShowWindow(hWnd, SW_HIDE); // 隐藏窗口ns::person p = { "Ned Flanders", "744 Evergreen Terrace", 60 };json j;j["name"] = p.name;j["address"] = p.address;j["age"] = p.age;cout << j << endl;while (1);return 0;
}//json.cpp链接
链接:https://pan.baidu.com/s/1Q0TJAA4ifZ7UKCm_tULLLw 
提取码:c77q 
--来自百度网盘超级会员V2的分享

可以参考以下两个链接
https://github.com/nlohmann/json
http://nlohmann.github.io/json/api/basic_json/

QT json

#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QDebug>int main() {// 创建一个包含多个对象的 JSON 对象QJsonObject mainObject;// 创建子对象1QJsonObject person1;person1["name"] = "John";person1["age"] = 30;person1["city"] = "New York";// 创建子对象2QJsonObject person2;person2["name"] = "Alice";person2["age"] = 25;person2["city"] = "London";// 将子对象添加到主对象中mainObject["person1"] = person1;mainObject["person2"] = person2;// 创建 JSON 文档并将 JSON 对象添加到文档中QJsonDocument jsonDocument(mainObject);// 将 JSON 文档转换为字符串输出qDebug() << "JSON Data:\n" << jsonDocument.toJson();return 0;
}
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QDebug>int main() {// JSON 数据字符串QString jsonData = R"({"person1": {"name": "John","age": 30,"city": "New York"},"person2": {"name": "Alice","age": 25,"city": "London"}})";// 将 JSON 数据字符串转换为 JSON 文档QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonData.toUtf8());// 获取 JSON 文档的根对象QJsonObject mainObject = jsonDocument.object();// 从根对象中获取子对象QJsonObject person1 = mainObject["person1"].toObject();QJsonObject person2 = mainObject["person2"].toObject();// 从子对象中获取值QString name1 = person1["name"].toString();int age1 = person1["age"].toInt();QString city1 = person1["city"].toString();QString name2 = person2["name"].toString();int age2 = person2["age"].toInt();QString city2 = person2["city"].toString();// 输出解析得到的值qDebug() << "Person 1: " << name1 << ", " << age1 << ", " << city1;qDebug() << "Person 2: " << name2 << ", " << age2 << ", " << city2;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/185923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 数据恢复方式说明

AOF日志 AOF(Append Only File)是写后日志,Redis先执行命令把数据写入内存,然后才记录日志。 实现原理 AOF 里记录的是 Redis 收到的每一条命令,这些命令是以文本形式保存的。 示例: set testkey testvalue 对应AOF文件 *3 $3 set $7 testkey $9 testvalue “*3”表示…

MatchPyramid实现文本匹配

引言 今天利用MatchPyramid实现文本匹配。 原论文解析→点此←。 MatchPyramid 核心思想是计算两段文本间的匹配矩阵&#xff0c;把它当成一个图形利用多层卷积网络提取不同层级的交互模式。 匹配矩阵是通过计算两段输入文本基本单元(比如字或词)之间相似度得到的&#xf…

【0241】Parser解析分析统计信息(PARSE ANALYSIS STATISTICS)

1. 执行解析分析 PG内核通过调用pg_parse_query()函数,完成用户查询字符串的解析任务。并返回List类型的参数parsetree_list。如下所示: $4 = {type = T_List, length = 1, max_length = 1, elements = 0x1fc72e0, initial_elements = 0x1fc72e0}之后运行原始解析树并处理每…

Java作业题记录

loading... 1.定义一个Person类{name, age, job},初始化Person对象数组&#xff0c;有3个person对象&#xff0c;并按照 age 从 大到 小进行排序,提示&#xff0c;使用冒泡排序Homework01.java 难点1&#xff1a;初始化数组Person[] people new Person[3]; 难点2&#xff…

43.0BaseDao抽取dao公共父类

43.1. 回顾 1. 把数据库表中查询的结果封装到一个实体类中。 命名规则:类名和表名一致 类中属性和表的字段对应。 表中的一条记录对应实体的一个对象 多条记录→集合 43.2. 正文 目录 43.1. 回顾 43.2. 正文 43.3. 抽取dao公共父类。 43.4. 引入数据源 43.3. 抽取dao公共…

C#测试开源运行耗时库MethodTimer.Fody

微信公众号“dotNET跨平台”的文章《一个监控C#方法运行耗时开源库》介绍了支持测量方法耗时的包MethodTimer.Fody&#xff0c;使用方便&#xff0c;还可以自定义输出信息格式。本文学习并测试MethodTimer.Fody包的使用方式。   新建控制台程序&#xff0c;通过Nuget包管理器…

Python链式调用技巧:代码流畅无缝连接

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 链式调用是一种编程风格&#xff0c;它允许将多个方法调用连接在一起&#xff0c;形成一个连贯的操作链。在Python中&#xff0c;链式调用常常用于使代码更简洁、易读&#xff0c;尤其在处理数据处理和函数式编程…

web:ics-05(本地文件包含漏洞、preg_replace函数/e漏洞、php伪协议读取文件)

题目 打开页面显示如下 只有这个页面能打开 显示如下 用dirsearch扫一下 查看了一下&#xff0c;发现没什么用 查看页面源代码 返回了&#xff0c;写入的参数&#xff0c;猜测可能有文件包含漏洞 用php伪协议读取文件 构造payload ?pagephp://filter/readconvert.base64-en…

WordPress定时文章自动发布技巧

对于许多WordPress站长来说&#xff0c;文章的管理和发布计划往往是一个头疼的问题。随着内容的不断增加&#xff0c;时间表的调整以及发布频率的把握成为了让人焦头烂额的挑战。 一、时间管理难题 对于博客管理员来说&#xff0c;时间管理一直是个令人困扰的问题。在忙碌的生…

Springboot-注册注解【springboot常用注解】

1.组件注册 1.1 使用的注解 Configuration:普通配置类,替代以前的配置文件,配置类本身也是容器的组件|SpringBootConfiguration:Springboot配置类,与Configuration功能一样|Bean:替代以前的Bean标签,如果没有在Bean标签内定义名字,则默认组件的名字为方法名,可以直接修改注解…

简单0成本构建一个企业内部的视频点播、培训直播、安防监控、录像管理于一体的数字视频管理体系

以前&#xff0c;企业要构建一套数字化的视频管理体系&#xff0c;把企业内部的各种视频文件、直播培训、安防监控视频都整合到一套流媒体音视频服务里面&#xff0c;实现统一的对外供货、对外赋能的方案&#xff0c;是很困难的&#xff01;因为&#xff0c;原来这都是好几个项…

【Web】NewStarCTF Week4 个人复现

目录 ①逃 ②More Fast ③midsql ④InjectMe ⑤PharOne ⑥flask disk ①逃 一眼字符串逃逸 bad 替换为 good 字符增加一位 先构造一下试试 <?php class GetFlag {public $key;public $cmd "ls /";} $a new GetFlag(); echo serialize($a); 得到O:7:…

linux统计时间

#include <time.h>//ns差 struct timespec begin {0, 0}; clock_gettime(CLOCK_REALTIME, &begin);struct timespec end {0, 0}; clock_gettime(CLOCK_REALTIME, &end);int value end.tv_nsec - begin.tv_nsec;//另一种us时间差 struct timeval tv1; gettimeofd…

windows配置服务开机自启和保活

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、下载WinSW&#xff1f;二、使用步骤1.解压2.配置3.安装服务4.服务启停5.服务卸载6.开机自启7.保活 总结 前言 写了一个程序或者是exe&#xff0c;或者是ba…

Jmeter接口测试:jmeter_HTTP Cookie管理器看这一篇文章就够了

HTTP Cookie管理器 HTTP Cookie管理器可以像浏览器一样自动存储和发送cookie&#xff0c;以这种自 动收集的方式收集到的cookie不会在cookie manager中进行展示&#xff0c;但是运行后&#xff0c; 可以通过 查看结果树&#xff08;监听器&#xff09;可以查看到cookie信息 除…

java单例模式

文章目录 单例模式3、懒汉式 - 懒汉式非线程安全4、饿汉式 - 线程安全5、懒汉式和饿汉式区别6、双重检查锁定7、应用场景 来讲讲java单例 单例模式 java中单例模式是一种常见的设计模式&#xff0c;单例模式的写法有好几种&#xff0c;这里主要介绍三种&#xff1a;懒汉式单例…

抑制过拟合——Dropout原理

抑制过拟合——Dropout原理 Dropout的工作原理 实验观察 在机器学习领域&#xff0c;尤其是当我们处理复杂的模型和有限的训练样本时&#xff0c;一个常见的问题是过拟合。简而言之&#xff0c;过拟合发生在模型对训练数据学得太好&#xff0c;以至于它捕捉到了数据中的噪声和…

如何提高谷歌上架成功率?代码混淆加固、AB面、账号关联

众所周知&#xff0c;Google play商店在全球是极具影响力的应用市场之一&#xff0c;随着市场和科学技术的发展&#xff0c;竞争越来越激烈&#xff0c;谷歌的政策也越来越严格。 为了维持良好的竞争环境和用户体验&#xff0c;谷歌不断更新政策和规则&#xff0c;同时加强对部…

系统部署安装-Centos7-Cassandra

文章目录 介绍安装在线下载安装启动普通启动注册服务 介绍 Apache Cassandra是一个高度可扩展的高性能分布式数据库&#xff0c;旨在处理许多商用服务器上的大量数据&#xff0c;提供高可用性而没有单点故障。 安装 在线下载 &#xff08;1&#xff09;使用weget下载最新的…

mabatis基于xml方式和注解方式实现多表查询

前面步骤 http://t.csdnimg.cn/IPXMY 1、解释 在数据库中&#xff0c;单表的操作是最简单的&#xff0c;但是在实际业务中最少也有十几张表&#xff0c;并且表与表之间常常相互间联系&#xff1b; 一对一、一对多、多对多是表与表之间的常见的关系。 一对一&#xff1a;一张…