using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Text.Json; using System.Text.Json.Serialization.Metadata; namespace crusherScanner { internal class JsonHandler { private string filePath; private bool isSettingsFile; public Settings settings; public List? log; /// /// Open or create a JSON file. /// /// Path to where the file is located or should be created. /// Is this a settings file? or a log file. public JsonHandler(string filePath,bool isSettingsfile) { this.filePath = filePath; this.isSettingsFile = isSettingsfile; if (isSettingsfile) { if (File.Exists(filePath)) { string fileData = File.ReadAllText(filePath); settings = JsonSerializer.Deserialize(fileData); } else { settings = new Settings(); } } else { if (File.Exists(filePath)) { string fileData = File.ReadAllText(filePath); log = JsonSerializer.Deserialize>(fileData); } else { log = new List(); } } } public void Save() { string fileData; if (isSettingsFile) { fileData = JsonSerializer.Serialize(settings); } else { fileData = JsonSerializer.Serialize(log); } File.WriteAllText(filePath, fileData); } } }