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

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

cpp 复制代码
#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文档中添加、删除或修改键值对。

相关推荐
程序员鱼皮3 天前
我干了两个月的大项目,开源了!
计算机·程序员·软件开发·代码·自学编程
智在碧得21 天前
前端Monorepo实践分享
前端·代码仓库·monorepo·代码·业务组件
sdaxue.com1 个月前
帝国cms电脑pc站url跳转到手机站url的方法
网站·代码·帝国cms·手机站·站长
程序员鱼皮1 个月前
第一次参加实习,我祛魅了!
后端·计算机·互联网·软件开发·求职·代码·编程经验
梦幻加菲猫1 个月前
XML 在线格式化 - 加菲工具
xml·前端·格式化
梦幻加菲猫1 个月前
SQL 在线格式化 - 加菲工具
数据库·sql·格式化
网络研究院1 个月前
对 JavaScript 说“不”
开发语言·javascript·typescript·ecmascript·编程·代码
程序员鱼皮2 个月前
网站刚上线,就被 DDoS 攻击炸了!
后端·计算机·互联网·网站·代码·编程经验
禾乃儿_xiuer2 个月前
《用Python画蔡徐坤:艺术与编程的结合》
开发语言·python·信息可视化·表白·代码·美术·简单代码
xhload3d3 个月前
掌控物体运动艺术:图扑 Easing 函数实践应用
大数据·3d·智慧城市·html5·webgl·数字孪生·可视化·数据可视化·工业互联网·轻量化·demo·hightopo·大屏展示·图形组件