Итак, в основном, у меня есть простое JSON сериализатор / десериализатор в C#, где я сохраняю StringCollections в .txt
файлах с JSON внутри. Таким образом, в принципе, я могу успешно сохранить свой JSON в необработанном текстовом файле, например:
String path = Properties.Settings.Default.database + "//data.txt";
StringCollection data = Properties.Settings.Default.data;
File.WriteAllText(path, JsonSerializer.Serialize(data));
Но при десериализации файла для получения объекта с использованием этого кода:
string rawJson = File.ReadAllText(path);
StringCollection data = JsonSerializer.Deserialize<StringCollection>(rawJson);
Это дает мне следующее исключение:
System.InvalidCastException : 'Невозможно привести объект типа' System.Text. Json .JsonElement 'к типу' System.String '.'
Я искал этот StackOverflow и нашел пару сообщений об этом, но они действительно не решили мою проблему. Что я делаю не так?
ПРИМЕЧАНИЕ: Я использую System.Text.Json
, а не Newtonsoft.Json
.