C++使用rapidjson读写json数据

这篇具有很好参考价值的文章主要介绍了C++使用rapidjson读写json数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景

RapidJSON简介及使用_fengbingchun的博客-CSDN博客 

rapidjson是腾讯的高效C++ Json解析器,只有头文件,可跨平台使用

mirrors / Tencent / rapidjson · GitCode

二、读数据

使用rapidjson解析和组装json_youyicc的博客-CSDN博客

 文章来源地址https://www.toymoban.com/news/detail-557351.html

三、写数据

#include "rapidjson/document.h"
#include "rapidjson/error/en.h"
#include "rapidjson/stringbuffer.h"
#include "rapidjson/writer.h"
#include "rapidjson/istreamwrapper.h"
#include "rapidjson/prettywriter.h"

//通过rapidjson生成json数据
QString QosMonitor::generateJsonDataByRapidJson(dataInfo& data) {
	rapidjson::StringBuffer json;
	rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(json);
	try {
		writer.StartObject();

		writer.String("500001");
		writer.StartArray();
		writer.StartObject();
		writer.String("name");
		writer.String(data.name.toStdString().c_str());
		writer.String("endpoint");
		writer.String(data.endpoint.toStdString().c_str());
		writer.String("remoteMac");
		writer.String(data.remoteMac.toStdString().c_str());
		writer.String("loginTime");
		writer.String(data.loginTime.toStdString().c_str());
		writer.String("logonNum");
		writer.String(data.logonNum.toStdString().c_str());
		writer.String("logonLimit");
		writer.String(data.logonLimit.toStdString().c_str());
		writer.String("compressTag");
		writer.String(data.compressTag.toStdString().c_str());
		writer.String("iceBzip2");
		writer.String(data.iceBzip2.toStdString().c_str());
		writer.String("messageNum");
		writer.String(data.messageNum.toStdString().c_str());
		writer.String("messageSize");
		writer.String(data.messageSize.toStdString().c_str());

		writer.String("speed");
		writer.String(data.speed.toStdString().c_str());
		writer.String("maxSpeed");
		writer.String(data.maxSpeed.toStdString().c_str());
		writer.String("mps");
		writer.String(data.mps.toStdString().c_str());
		writer.String("maxMps");
		writer.String(data.maxMps.toStdString().c_str());

		writer.String("type");
		writer.String(data.type.toStdString().c_str());
		writer.String("location");
		writer.String(data.location.toStdString().c_str());

		writer.EndObject();
		writer.EndArray();

		writer.EndObject();
	}
	catch (...) {}

	QFile file("../../binx64/release/2.json");
	file.open(QIODevice::WriteOnly);
	// 将json以文本形式写入文件并关闭文件。
	file.write(json.GetString());
	file.close();


	//把json数据转为QString
	QString s = QString(json.GetString());
	return s;
}

C++使用rapidjson读写json数据,C++,常用技能,json 

 

 

到了这里,关于C++使用rapidjson读写json数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用python读写txt和json(jsonl)大文件

    在深度学习方向,尤其是NLP领域,最重要的就是和海量的文字打交道,不管是读取原始数据还是处理数据亦或是最终写数据,合理的读写文件是极为重要的,这篇博客用以记录一下工作中学习到的对大文件读写的过程。 目录 读写txt文本文件 读写JSON文件 读写JSONL文件 遇到的

    2024年02月05日
    浏览(46)
  • Python之Pandas的常用技能【写入数据】

    1、背景: 最近在工作中遇到越来越多的的使用pandas或者python来处里写入操作,尤其是对excel文件或者csv文件的操作更是常见,这里将写入操作总结如下,方便记忆,也分享给大家,希望对阅读者能够有所帮助 2、pandas写入数据的各种场景使用详解 2.1、df.to_excel()参数详解 2.2

    2024年01月17日
    浏览(48)
  • 【技能---Anaconda3常用命令使用入门】

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 不推荐使用,一般还是使用pip install,特别是在安装pytorch时候’ 打开 ~/.bashrc (例如: gedit ~/.bashrc),找到与conda 相关的,注释掉即可: 欧克欧克,大概也就这么多了!!!

    2024年02月01日
    浏览(36)
  • 【Java】YAML读写常用工具包及使用示例

    YAML是一种常用的数据序列化格式,在Java应用程序中读写YAML数据是常见的任务。本文介绍了三个受欢迎的Java工具包:SnakeYAML、Jackson Dataformat YAML和YAMLBeans,它们都提供了读写YAML数据的功能。本文将逐一介绍这些工具包的特点、Maven依赖配置,并给出使用示例。最后,本文总结

    2024年02月04日
    浏览(54)
  • 【C++技能树】NameSpace --命名空间的使用

      Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接       我会一直往里填充内容哒! 🌈LeetCode专栏:专栏链接       目前在刷初级算法的LeetBook 。若每日一题当中有力所能

    2023年04月16日
    浏览(37)
  • C++技能 ( 2 ) - const的几种使用【详解】

    C++高性能优化编程系列 深入理解软件架构设计系列 高级C++并发线程编程 C++技能系列 期待你的关注哦!!! 生活就是上帝发给你的一张手牌,无论多烂,你都得拿着。 Life is god give you a hand, no matter how bad, you have to take. (1)表示常量a,不能改变a的值 (1)表示常量引用,a代

    2024年02月09日
    浏览(36)
  • C++技能系列 ( 2 ) - const的几种使用【详解】

    C++高性能优化编程系列 深入理解软件架构设计系列 高级C++并发线程编程 C++技能系列 期待你的关注哦!!! 生活就是上帝发给你的一张手牌,无论多烂,你都得拿着。 Life is god give you a hand, no matter how bad, you have to take. (1)表示常量a,不能改变a的值 (1)表示常量引用,a代

    2024年02月11日
    浏览(38)
  • API接口常用数据格式Json,Json的定义和XML的区别

    现在程序员还有谁不知道 JSON 吗?无论对于前端还是后端,JSON 都是一种常见的数据格式。那么 JSON 到底是什么呢? JSON (JavaScript Object Notation) ,是一种轻量级的数据交换格式。它的使用范围很广,并成为 ECMA 标准,可以被使用在多种编程语言中,用于前后端之间的数据传

    2024年02月12日
    浏览(45)
  • 07-1_Qt 5.9 C++开发指南_文件系统及文件读写_文本文件读写(使用 QTextStream 进行文件读写更为方便)

    文本文件是指以纯文本格式存储的文件,例如用 Qt Creator 编写的 C++程序的头文件 (.h 文件)和源程序文件 (.cpp 文件)。HTML 和 XML 文件也是纯文本文件,只是其读取之后需要对内容进行解析之后再显示。 Qt 提供了两种读写纯文本文件的基本方法, 一种是用 QFile 类的 IODevice 读写

    2024年02月13日
    浏览(56)
  • c++文件的打开、读写和关闭。缓冲区的使用和控制。

    在C++中,文件的打开、读写和关闭通常使用标准库中的文件流对象(如std::ifstream用于输入文件,std::ofstream用于输出文件)来完成。这些对象封装了与操作系统交互的底层细节,使得文件操作更为简单和安全。 以下是文件打开、读写和关闭的基本步骤: 包含头文件 首先,需

    2024年02月21日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包