【问题标题】:How to change values in jsoncpp object如何更改 jsoncpp 对象中的值
【发布时间】:2015-03-26 13:10:07
【问题描述】:

我正在尝试更改 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++ json object jsoncpp


    【解决方案1】:

    这是一个 C++ 错字/误解,不是 JsonCpp 问题:

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

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

    改为引用现有节点:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多