gpt4 book ai didi

c++ - rapidjson - 更改对象 - 添加元素/项目

转载 作者:行者123 更新时间:2023-11-30 04:19:27 30 4
gpt4 key购买 nike

如何将成员添加到 rapidjson 对象然后打印它?

例如添加

 itemtwo => "world" ;

给这个对象:

{"itemone":"hello"}  

我试过了

 char buff[] = "{\"itemone\":\"hello\"}";
rapidjson::Document json_obj;
if(json_obj.Parse<0>(buff.c_str()).HasParseError() == false){
json_obj["itemtwo"].SetString("world");
rapidjson::StringBuffer strbuf;
rapidjson::Writer<rapidjson::StringBuffer> writer(strbuf);
json_obj.Accept(writer);
cout<<strbuf.GetString()<<endl;
}

我得到以下输出:

{"itemone":"hello"}  

表示没有变化。我做错了什么?

最佳答案

json_obj["itemtwo"] 只能找到具有该名称的成员,该名称不存在。它不会创建新条目(如在 std::map 中)。

要操作对象,请使用 AddMember() 和其他相关成员函数,例如

json_obj.AddMember("itemone", "hello", json_obj.GetAllocator());

可以引用rapidjson user guide和/或包中的 tutorial.cpp。

关于c++ - rapidjson - 更改对象 - 添加元素/项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15798483/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com