using Newtonsoft.Json; using Serilog; namespace DispenserCommon.Utils; public class JsonUtil { public static string ToJson(object obj) { try { return JsonConvert.SerializeObject(obj); } catch (Exception e) { throw new ArgumentException($" 无效的json 对象 {obj} "); } } public static Dictionary? ToDictionary(string json) { try { return JsonConvert.DeserializeObject>(json); } catch (Exception e) { throw new ArgumentException($" 无效的json 对象 {json} "); } } public static T FromJson(string json) { try { return JsonConvert.DeserializeObject(json); } catch (Exception e) { Log.Error($"json解析异常 {e.Message}"); return default; } } public static object? FromJson(Type type, string json) { try { return JsonConvert.DeserializeObject(json, type); } catch (Exception e) { throw new ArgumentException($" 无效的json 字符串 {json} "); } } public static T FromJsonOrDefault(string json) { try { return JsonConvert.DeserializeObject(json); } catch (Exception e) { return default; } } }