rapidjson 添加删除对象

rapidjson我就不介绍了,以后有机会在补上。

直接上代码

#include "rapidjson/document.h"
#include "rapidjson/stringbuffer.h"
#include "rapidjson/writer.h"
#include <stdlib.h>
void func()
{
  rapidjson::Document * ptr_doc = new rapidjson::Document();
  ptr_doc->Parse("{}");
  rapidjson::Document::AllocatorType&allocator = ptr_doc->GetAllocator();

  rapidjson::Value current_gameplay(rapidjson::kObjectType);
  rapidjson::Value current_gameplay_achievements(rapidjson::kObjectType);
  ptr_doc->AddMember("current_gameplay", current_gameplay, allocator);//对象添加
  ptr_doc->AddMember("current_gameplay_achievements", current_gameplay_achievements, allocator);

  rapidjson::Value user(rapidjson::kObjectType);
  if (!(*ptr_doc)["current_gameplay"].GetObject().HasMember("user"))//判断是否user对象
  {
    (*ptr_doc)["current_gameplay"].AddMember("user", user, allocator);//current_gameplay对象添加user对象
  }

  rapidjson::Value strObject(rapidjson::kStringType);
  strObject.SetString("123");
  (*ptr_doc)["current_gameplay"]["user"].AddMember("id", strObject, allocator);//current_gameplay的user对象添加 id:"123";

  (*ptr_doc)["current_gameplay"]["user"]["id"].SetString("321");//current_gameplay的user对象修改为 id:"321";
  (*ptr_doc)["current_gameplay"]["user"].RemoveMember("id");//current_gameplay的user对象删除id项
  rapidjson::StringBuffer  buffer;
  rapidjson::Writer<rapidjson::StringBuffer>  writer(buffer);
  ptr_doc->Accept(writer);
  auto msgToString = buffer.GetString();
  printf("info:%s", msgToString);
}

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 RapidJSON 库将一个 JSON 对象添加到另一个 JSON 对象中,可以使用 `AddMember()` 函数。以下是一个示例: ```cpp #include <iostream> #include <rapidjson/document.h> #include <rapidjson/writer.h> #include <rapidjson/stringbuffer.h> using namespace rapidjson; int main() { // 创建一个 JSON 对象 Document document; document.SetObject(); // 创建要添加JSON 对象 Value innerObject(kObjectType); Value key("name"); Value value("John"); innerObject.AddMember(key, value, document.GetAllocator()); // 将内部对象添加到外部对象 Value keyOuter("person"); document.AddMember(keyOuter, innerObject, document.GetAllocator()); // 将 JSON 对象转换为字符串 StringBuffer buffer; Writer<StringBuffer> writer(buffer); document.Accept(writer); std::string jsonString = buffer.GetString(); // 打印 JSON 字符串 std::cout << jsonString << std::endl; return 0; } ``` 在上述示例中,我们首先创建了一个外部的 JSON 对象 `document`。然后,我们创建了一个要添加到外部对象中的内部对象 `innerObject`。接下来,我们使用 `AddMember()` 函数将内部对象添加到外部对象中,并指定键名为 `"person"`。最后,我们将整个 JSON 对象转换为字符串形式。 输出结果示例: ```json {"person":{"name":"John"}} ``` 这是一个简单的示例,展示了如何使用 RapidJSON 库将一个 JSON 对象添加到另一个 JSON 对象中。你可以根据需要修改和扩展这个示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值