Нет простого способа отредактировать одно значение в файле JSON и затем записать его обратно.
Самый простой (с точки зрения подверженности ошибкам) способ -
- Открыть файл
- Загрузить текст в JSON объект
- Редактировать данные
- Записать JSON объект обратно в файл
Когда Вы открываете файл для записи и хотите перезаписать в нем существующие данные, вам также необходимо использовать флаг QIODevice::Truncate
. Это обрезает текст внутри вашего JSON файла, и все, что вы пишете в этот файл, стирает предыдущее содержимое.
Если вы хотите, вы можете открыть файл дважды (и закрыть его соответственно) - один раз, когда вы читаете из это (так что нет доступа к записи) и один раз, когда вы пишете в него. Таким образом, вы можете обработать указанные операции c ошибки, которые могут возникнуть. Если вы не хотите беспокоиться об обработке ошибок, просто добавьте дополнительный флаг, и вы хорошо наберете go.