Обновление части информации в Json файле
Добавлено: 20 янв 2021, 22:35
Храню информацию различного рода в Json файле. С самой сериализацией в обе стороны вроде разобрался. Теперь возник вопрос - что делать если мне надо обновить только кусок файла.
Например есть вот такой файл:
Сейчас я если хочу обновить только одну из записей об объекте я загружаю весь файл через
меняю в нем какую-то запись, обращаясь конкретно к ней, а затем снова пишу все в файл.
То есть если мне надо поменять какое-то одно значение я полностью загружаю весь файл, а потом весь его перезаписываю.
Можно ли выгружать и сохранять файл частично? А то такая полная перезапись выглядит излишней.
Например есть вот такой файл:
Синтаксис:
Используется csharp
{
"objectsCount": 2,
"objectsData": [
{
"id": 0,
"blocksCount": 0,
"blocksData": [ ]
},
{
"id": 1,
"blocksCount": 0,
"blocksData": [ ]
}
]
}
"objectsCount": 2,
"objectsData": [
{
"id": 0,
"blocksCount": 0,
"blocksData": [ ]
},
{
"id": 1,
"blocksCount": 0,
"blocksData": [ ]
}
]
}
Сейчас я если хочу обновить только одну из записей об объекте я загружаю весь файл через
Синтаксис:
Используется csharp
string json = File.ReadAllText(path);
ObjectsLibraryDataModel objectsLibraryData = JsonUtility.FromJson<ObjectsLibraryDataModel>(json);
ObjectsLibraryDataModel objectsLibraryData = JsonUtility.FromJson<ObjectsLibraryDataModel>(json);
меняю в нем какую-то запись, обращаясь конкретно к ней, а затем снова пишу все в файл.
Синтаксис:
Используется csharp
string json = JsonUtility.ToJson(objectsLibraryData, true);
File.WriteAllText(path, json);
File.WriteAllText(path, json);
То есть если мне надо поменять какое-то одно значение я полностью загружаю весь файл, а потом весь его перезаписываю.
Можно ли выгружать и сохранять файл частично? А то такая полная перезапись выглядит излишней.