using Newtonsoft.Json; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.IO; namespace NCC.Common.Helper { /// /// JsonHelper /// 版 本:V3.0.0 /// 版 权:Wesley(https://www.NCCsoft.com) /// 作 者:NCC开发平台组 /// public static class JsonHelper { /// /// /// /// /// public static string ToJson(this object obj) { var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" }; return JsonConvert.SerializeObject(obj, timeConverter); } /// /// /// /// /// /// 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 T ToObject(this object json) { return json == null ? default(T) : JsonConvert.DeserializeObject(json.ToJson()); } /// /// /// /// /// /// 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 ToObject(this string json) { return json == null ? JObject.Parse("{}") : JObject.Parse(json.Replace(" ", "")); } /// /// /// /// /// public static string PraseToJson(string json) { JsonSerializer s = new JsonSerializer(); JsonReader reader = new JsonTextReader(new StringReader(json)); Object jsonObject = s.Deserialize(reader); StringWriter sWriter = new StringWriter(); JsonWriter writer = new JsonTextWriter(sWriter); writer.Formatting = Formatting.Indented; s.Serialize(writer, jsonObject); return sWriter.ToString(); } /// /// /// /// /// /// public static string GetValue(this Dictionary dic, string key) { return dic.ContainsKey(key) ? dic[key] : null; } } }