using System.Diagnostics; using System.Text.Encodings.Web; using System.Text.Json; using System.Text.Unicode; namespace TaikoSoundEditor { internal static class Json { public static T Deserialize(string json) { Logger.Info($"Deserializing {typeof(T)} ({json.Length})"); return JsonSerializer.Deserialize(json); } public static string Serialize(T item, bool indented = true) { Logger.Info($"Serializing {typeof(T)}:\n{item}"); return JsonSerializer.Serialize(item, new JsonSerializerOptions { Encoder = JavaScriptEncoder.Create(UnicodeRanges.All), WriteIndented = indented }); } } }