Изменение значения аттрибута JSON файла

109
16 августа 2019, 05:50

Имею .json файл, выглядящий следующим образом.

{"Settings":{"AutoReload":true,"CheckingUpdates":false}}

Необходимость в следующем: изменить значение "Settings - AutoReload" с True на False. Насколько я понимаю, необходимо переписывать .json объект, но как это сделать грамотно - не понимаю. Использую кривой код, при таком весь файл переписывается и в итоге его содержимым становится содержание

{"Settings":{"AutoReload":false}

Сам код следующий:

// Код при запуске/активации программы
std::ifstream fin("img.json");
if (!fin.is_open())
{
    json my_obj;
    my_obj["Settings"] = { {"AutoReload", true}, {"CheckingUpdates", false} 
};
std::string dumped_json = my_obj.dump();
std::ofstream fout("img.json");
fout << dumped_json;
fout.close();

// Код в MainLoop
json new_obj;
new_obj["Settings"] = {
    {"AutoReload", false}
};
std::string new_dumped_json = new_obj.dump();
std::ofstream fout("img.json");
fout << new_dumped_json;
fout.close();
Answer 1

Код в MainLoop создает пустой объект json записывает в него {"Settings":{"AutoReload":false} и сохраняет в файл. Шаг с чтением содержимого этого файла перед изменением отсутствует.

READ ALSO
с++: быстрые математические операции для double (экспонента)

с++: быстрые математические операции для double (экспонента)

Подскажите есть ли способ быстрого и точного вычисления экспоненты быстрее, чем через функцию exp?

108
MissingResourceException: не могу найти файл.resources

MissingResourceException: не могу найти файл.resources

Подскажите пожалуйста, в чем моя ошибкаИспользую три способа достучаться до Resource Bundle, и все три не работают

128
Fragment -&gt; Fragment и обратно

Fragment -> Fragment и обратно

Нужно получить второй фрагмент из первого и наоборотВ коде ниже получается конфликт

100