3.8更新了rapidjson类库?AddMember方法改了,谁知道新的怎么用

3.8更新了rapidjson类库?AddMember方法改了,谁知道新的怎么用

rapidjson::Document document;

rapidjson::Document::AllocatorType& allocator = document.GetAllocator();
rapidjson::Value root(rapidjson::kObjectType);

char* name =user_loginname->getValue();

char* password = user_password->getValue();
bool isAll = isall->getValue();
char* appKey = appkey->getValue();

if(name!=NULL){

    root.AddMember("user_loginname",name,allocator);
}
if(password!=NULL){
    root.AddMember("user_password",password,allocator);
}
if(isall!=NULL){
    root.AddMember("isall",isAll,allocator);
}
if(appKey!=NULL){
    root.AddMember("appkey",appKey,allocator);
}

rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);

root.Accept(writer);

root.AddMember处报错

第二项 value之前填入一个 char* 就可以了,现在需要转换类型 转换成 rapidjson::Value(name,allocator) rapidjson::Value(password,allocator) 这样就可以了。。。。

其实我也有一个问题,之前Key值可以传一个 字符串变量,现在好像只能传常量了。。。。

感谢啊 我试试,对 key的问题貌似我也有,以前的代码都需要改了 哎,为什么改成这样了呢,感觉还没有以前方便了

 rapidjson::Value value(name);

// value.SetString(name);

    root.AddMember("user_loginname",value,allocator);

这样依然报错。。

我搞错了,你看看我修改后的答案

恩,感谢,图片等比例缩放研究过么?类似于安卓的图片控件那种

不好意思,这个我还真不知道。。。没弄过安卓。。。

这次的改版我觉得根本没有必要
AddMemeber如果要改变参数的type
修改内部的函式就好 对外API根本不需要改变

我现在不敢升级了,每次升级都是一种灾难,等4.0吧 希望到时候ui可以大更新,到时候在考虑升级的问题

现在AddMember的第一个和第二个参数都是,要不直接填写字符串常量,要不就要把字符串变量转换成rapidjson::Value(字符串变量, allocator)的形式。

_document.AddMember(“1-1”, object, allocator);
_document.AddMember(rapidjson::Value(level.c_str(), allocator), object, allocator);

我也有同样的问题,请问我原来的代码
std::string tempstr=“abcde”;
player1_json.AddMember(“lottery”, String::createWithFormat("%s", tempstr.c_str())->getCString(), allocator);
要改成这样吗?
std::string tempstr=“abcde”;
player1_json.AddMember(“lottery”,rapidjson::Value(tempstr.c_str(), allocator) , allocator);