capzap сохраните файл сериализацией. А потом делаем пасы руками: заходите в файл, удаляете нафик любую переменную (например у вас переменная с пустой строкой занимает место в файле), потом попробуйте десериализовать обратно.
Если у вас получится такое с json, покажите как и я возьму свои слова обратно.
Чтобы было понятнее, вот примитивный пример
Код:<DevTemplate Bus="M4" Address="0" Name="SPT941-20" Descriptor="" readLastErr="false" RemindEvery="true" TimeCode="Time" DateCode="Date">Во втором примере отсутствует запись Descriptor и readLastErr - xml сериализатор даже не поперхнется от их отсутствия и выдаст пустую строку и false для данных переменных.Код:<DevTemplate Bus="M4" Address="0" Name="SPT941-20" RemindEvery="true" TimeCode="Time" DateCode="Date">
Так что пожалуйста - покажите такой же фокус с json. Мне очень надо и для него то же самое...
На счет json я использовал System.Text.Json а не Newtonsoft.Json (его пробовал ранее, те же, только в профиль)
з.ы. я почему собственно за подобный вариант? - он позволяет организовать структуру так, что при добавлении новых полей продолжать использовать ПО старой версии, если изменения не касались этой старой версии. Некоторая обратная совместимость сохраняется, пока полностью не перелопатишь классы.




Ответить с цитированием