| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | 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;namespace WCS.Data{    /// <summary>    /// 扩展.json序列反序列化    /// </summary>    public static partial class Extensions    {        /// <summary>        /// 转成json对象        /// </summary>        /// <param name="Json">json字串</param>        /// <returns></returns>        public static object ToJson(this string Json)        {            return Json == null ? null : JsonConvert.DeserializeObject(Json);        }        /// <summary>        /// 转成json字串        /// </summary>        /// <param name="obj">对象</param>        /// <returns></returns>        public static string ToJson(this object obj)        {            var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };            return JsonConvert.SerializeObject(obj, timeConverter);        }        /// <summary>        /// 转成json字串        /// </summary>        /// <param name="obj">对象</param>        /// <param name="datetimeformats">时间格式化</param>        /// <returns></returns>        public static string ToJson(this object obj, string datetimeformats)        {            var timeConverter = new IsoDateTimeConverter { DateTimeFormat = datetimeformats };            return JsonConvert.SerializeObject(obj, timeConverter);        }        /// <summary>        /// 字串反序列化成指定对象实体        /// </summary>        /// <typeparam name="T">实体类型</typeparam>        /// <param name="Json">字串</param>        /// <returns></returns>        public static T ToObject<T>(this string Json)        {            return Json == null ? default(T) : JsonConvert.DeserializeObject<T>(Json);        }        /// <summary>        /// 字串反序列化成指定对象实体(列表)        /// </summary>        /// <typeparam name="T">实体类型</typeparam>        /// <param name="Json">字串</param>        /// <returns></returns>        public static List<T> ToList<T>(this string Json)        {            return Json == null ? null : JsonConvert.DeserializeObject<List<T>>(Json);        }        /// <summary>        /// 字串反序列化成DataTable        /// </summary>        /// <param name="Json">字串</param>        /// <returns></returns>        public static DataTable ToTable(this string Json)        {            return Json == null ? null : JsonConvert.DeserializeObject<DataTable>(Json);        }        /// <summary>        /// 字串反序列化成linq对象        /// </summary>        /// <param name="Json">字串</param>        /// <returns></returns>        public static JObject ToJObject(this string Json)        {            return Json == null ? JObject.Parse("{}") : JObject.Parse(Json.Replace(" ", ""));        }        public static IList<T> Clone<T>(this IList<T> listToClone) where T : ICloneable        {            return listToClone.Select(item => (T)item.Clone()).ToList();        }    }}
 |