2015-03-26 2 views
0

Я пытаюсь изменить значения в объекте jsoncpp. Я нашел несколько решений для массива 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)++; 
     } 
    } 
} 

Пока этот код ничего не делает. Как изменить значение текущего узла?

+0

ли мы волшебным образом предугадывать ваши требования от кода, который, по собственному признанию, не удовлетворяют этим требованиям? –

ответ

1

Это C++ опечатка/недоразумение, а не проблема JsonCpp:

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

Вы взяли узел по значению.
Таким образом, никаких изменений в нем не будет иметь ни малейшего эффекта в области вызова.

Возьмите ссылку на существующий узел вместо:

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

 Смежные вопросы

  • Нет связанных вопросов^_^