using Newtonsoft.Json; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SA { public static class JsonHelper { #region Method /// /// 类对像转换成json格式 /// /// public static string ToJson(this object t) { var ser = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Include, }; ser.Converters.Add(new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd hh:mm:ss" }); return JsonConvert.SerializeObject(t, Formatting.Indented, ser); } /// /// 类转化为json /// /// /// /// public static string ToJson(this T t) { var ser = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Include, }; ser.Converters.Add(new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd hh:mm:ss" }); return JsonConvert.SerializeObject(t, Formatting.Indented, ser); } /// /// 类对像转换成json格式 /// /// /// 是否忽略NULL值 /// public static string ToJson(this object t, bool HasNullIgnore) { if (HasNullIgnore) { var ser = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; ser.Converters.Add(new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd hh:mm:ss" }); return JsonConvert.SerializeObject(t, Formatting.Indented, ser); } else return ToJson(t); } /// /// json格式转换 /// /// /// /// public static T FromJson(string strJson) where T : class { if (!string.IsNullOrEmpty(strJson)) return JsonConvert.DeserializeObject(strJson); return null; } /// /// json格式转换成List /// /// /// /// public static List FromJsonList(string strJson) where T : class { if (!string.IsNullOrEmpty(strJson)) return JsonConvert.DeserializeObject>(strJson); return null; } /// /// 字符串转成匿名对象 /// /// /// public static JObject Parse(string strJson) { if (string.IsNullOrEmpty(strJson)) return null; JObject o = JObject.Parse(strJson); return o; } #endregion Method /// /// json字符串转化成json数组 /// /// /// public static JArray ParsestrToJArray(string strJson) { if (string.IsNullOrEmpty(strJson)) return new JArray(); JArray array = (JArray)JsonConvert.DeserializeObject(strJson); return array; } //public static object ToJson(this string Json) //{ // return Json == null ? null : JsonConvert.DeserializeObject(Json); //} public static string ToJson(this object obj, string datetimeformats) { var timeConverter = new IsoDateTimeConverter { DateTimeFormat = datetimeformats }; return JsonConvert.SerializeObject(obj, timeConverter); } public static T ToObject(this string Json) { return Json == null ? default(T) : JsonConvert.DeserializeObject(Json); } public static List ToList(this string Json) { return Json == null ? null : JsonConvert.DeserializeObject>(Json); } public static DataTable ToTable(this string Json) { return Json == null ? null : JsonConvert.DeserializeObject(Json); } public static JObject ToJObject(this string Json) { return Json == null ? JObject.Parse("{}") : JObject.Parse(Json.Replace(" ", "")); } } }