Несколько строк в формате JSON в одной директории
Здравствуйте, я (де)сериализую строки json в txt-файл. В моем коде объект "c2" успешно делает это там, где объект "c1" не удается сериализовать и десериализовать. Поскольку объект c1 терпит неудачу, его логические флаги не изменяются.
Я искал решения, я видел, как некоторые люди объединяют строки, а некоторые используют streamwrite, который я не использую в своем коде.
Что я уже пробовал:
это мой конструктор, где я выполняю десериализацию
public Form1() { InitializeComponent(); input += ".txt"; //default path + new filename path_combined = Path.Combine(root, input); if (!File.Exists(path_combined)) { using (var stream = File.Create(path_combined)) { if (new FileInfo(path_combined).Length > 0) { //flag situation string json2 = File.ReadAllText(path_combined); FormatJson(json2); c1 = JsonConvert.DeserializeObject<Class1>(json2); //Method used or not string json = File.ReadAllText(path_combined); FormatJson(json); c2 = JsonConvert.DeserializeObject<Class1>(json); } } } else { //flag situation string json2 = File.ReadAllText(path_combined); FormatJson(json2); c1 = JsonConvert.DeserializeObject<Class1>(json2); //Method used or not string json = File.ReadAllText(path_combined); FormatJson(json); c2 = JsonConvert.DeserializeObject<Class1>(json); } }
Это часть сериализации, когда я нажимаю кнопку, она обновляет флаги.
private void Button1_Click(object sender, EventArgs e) { c1.flag = true; c1.flag2 = true; c2.M1 = true; string json = JsonConvert.SerializeObject(c1, Formatting.Indented); File.WriteAllText(path_combined, json); string json2 = JsonConvert.SerializeObject(c2, Formatting.Indented); File.WriteAllText(path_combined, json2); }