当前位置: 首页 > news >正文

RepidJson将内容格式化后写入文件

以下是使用RapidJson将JSON内容格式化后写入文件的示例代码:

#include <iostream>
#include <fstream>
#include <string>
#include "rapidjson/document.h"
#include "rapidjson/prettywriter.h"
#include "rapidjson/writer.h"using namespace rapidjson;int main() {// 创建JSON文档Document doc;doc.SetObject();// 添加一些键值对Value name("John Doe");Value age(30);Value hobbies(kArrayType);hobbies.PushBack("Programming", doc.GetAllocator());hobbies.PushBack("Reading", doc.GetAllocator());hobbies.PushBack("Playing guitar", doc.GetAllocator());doc.AddMember("name", name, doc.GetAllocator());doc.AddMember("age", age, doc.GetAllocator());doc.AddMember("hobbies", hobbies, doc.GetAllocator());// 格式化JSON内容StringBuffer buffer;PrettyWriter<StringBuffer> writer(buffer);doc.Accept(writer);// 将JSON内容写入文件std::string filename = "example.json";std::ofstream ofs(filename);if (ofs.is_open()) {ofs << buffer.GetString();ofs.close();std::cout << "JSON content has been written to " << filename << std::endl;} else {std::cerr << "Failed to open file " << filename << std::endl;}return 0;
}

在上面的示例代码中,我们使用Document类创建了一个JSON文档,并使用AddMember()方法添加了几个键值对。然后,我们使用PrettyWriter类将JSON内容格式化为漂亮的字符串,并将其写入example.json文件中。你可以根据你的需要修改键值对的值,或者在JSON文档中添加、删除或修改键值对。

相关文章:

  • 安卓adb【备忘录】
  • linux的权限741
  • uniapp-hubildx配置
  • 更改AndroidStudio模拟器位置
  • Linux系统调试课:PCIe调试手段
  • Verilog if语句阻断z状态传播
  • 【CSP】202309-2_坐标变换(其二)Python实现
  • 【python】pip install 国内源
  • PHP 判断给定两个时间是否在同一周,月,年
  • Android 手机屏幕适配方式和原理
  • javafx-在listview中添加了点击事件后会执行多次
  • C++ 预处理详解
  • C语言进阶之路-数组与指针
  • 电商项目之Web实时消息推送(附源码)
  • 类和对象——(7)this指针
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • Akka系列(七):Actor持久化之Akka persistence
  • Apache Spark Streaming 使用实例
  • ES6--对象的扩展
  • Mybatis初体验
  • Redis中的lru算法实现
  • 工作手记之html2canvas使用概述
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 嵌入式文件系统
  • 让你的分享飞起来——极光推出社会化分享组件
  • 设计模式(12)迭代器模式(讲解+应用)
  • 实现简单的正则表达式引擎
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 2017年360最后一道编程题
  • const的用法,特别是用在函数前面与后面的区别
  • ​比特币大跌的 2 个原因
  • #stm32整理(一)flash读写
  • (备忘)Java Map 遍历
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (算法二)滑动窗口
  • (五)c52学习之旅-静态数码管
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • ******之网络***——物理***
  • .mysql secret在哪_MySQL如何使用索引
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET 8.0 中有哪些新的变化?
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Remoting学习笔记(三)信道
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET企业级应用架构设计系列之结尾篇
  • .NET学习全景图
  • .NET中winform传递参数至Url并获得返回值或文件
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @FeignClient注解,fallback和fallbackFactory
  • @KafkaListener注解详解(一)| 常用参数详解
  • @Transactional 竟也能解决分布式事务?
  • []我的函数库
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——