using System; using Newtonsoft.Json; /// /// 提供操作 JSON 数据的辅助方法。 /// public static class JsonHelper { /// /// 将对象序列化为 JSON 字符串。 /// /// 要序列化的对象类型。 /// 要序列化的对象。 /// 表示序列化对象的 JSON 字符串。 public static string ToJson(this T t) { return JsonConvert.SerializeObject(t); } /// /// 反序列化 JSON 字符串为指定类型的对象。 /// /// 要反序列化的 JSON 字符串。 /// 目标对象的类型。 /// 是否使用反射进行反序列化(默认为 true)。 /// 反序列化后的对象。 public static object Deserialize(this string json, Type type, bool reflection = true) { return JsonConvert.DeserializeObject(json, type); } /// /// 反序列化 JSON 字符串为指定类型的对象。 /// /// 目标对象的类型。 /// 要反序列化的 JSON 字符串。 /// 反序列化后的对象。 public static T Deserialize(this string json) { return JsonConvert.DeserializeObject(json); } /// /// 克隆对象,通过将对象序列化为 JSON,然后再进行反序列化。 /// /// 要克隆的对象类型。 /// 要克隆的对象。 /// 克隆后的对象。 public static T Clone(T t) { return t.ToJson().Deserialize(); } }