gpt4 book ai didi

c++ - 如何更改 jsoncpp 对象中的值

转载 作者:行者123 更新时间:2023-11-30 03:54:55 26 4
gpt4 key购买 nike

我正在尝试更改我的 jsoncpp 对象中的值。我找到了 jsoncpp 数组的多种解决方案,但到目前为止还没有找到 jsoncpp 对象的解决方案。我想做的是:

void saveAllValues(FIELD **field, Json::Value node, unsigned int* i){

for(Json::ValueIterator it = node.begin(); it != node.end(); it++) {
if ((*it).isObject() || (*it).isArray()) saveAllValues(field, *it, i);
else {
std::string value = field_buffer(field[*i], 0); //get value from ncurses field
*it = Json::Value(value);
(*i)++;
}
}
}

到目前为止这段代码什么也没做。如何更改当前节点的值?

最佳答案

这是 C++ 拼写错误/误解,而不是 JsonCpp 问题:

void saveAllValues(FIELD **field, Json::Value node, unsigned int* i){

按值获取了节点。
因此,对其进行任何更改都不会对调用范围产生丝毫影响。

改为引用现有节点:

void saveAllValues(FIELD **field, Json::Value& node, unsigned int* i){

关于c++ - 如何更改 jsoncpp 对象中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29279305/

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