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);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值