如何更改 jsoncpp 对象中的值
How to change values in jsoncpp object
我正在尝试更改我的 jsoncpp 对象中的值。我为 jsoncpp 数组找到了多个解决方案,但到目前为止 none 为 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++ typo/misunderstanding,不是 JsonCpp 问题:
void saveAllValues(FIELD **field, Json::Value node, unsigned int* i){
您按值获取了节点。
因此,对其进行任何更改都不会对调用范围产生丝毫影响。
改为引用现有节点:
void saveAllValues(FIELD **field, Json::Value& node, unsigned int* i){
我正在尝试更改我的 jsoncpp 对象中的值。我为 jsoncpp 数组找到了多个解决方案,但到目前为止 none 为 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++ typo/misunderstanding,不是 JsonCpp 问题:
void saveAllValues(FIELD **field, Json::Value node, unsigned int* i){
您按值获取了节点。
因此,对其进行任何更改都不会对调用范围产生丝毫影响。
改为引用现有节点:
void saveAllValues(FIELD **field, Json::Value& node, unsigned int* i){