json转换帮助类

    /// <summary>
    /// json转换帮助类
    /// </summary>
    public static class JsonHelper
    {
        /*
         
        实例:

            JObject obj = new JObject();
            obj.Add("code", "0");
            obj.Add("msg", "成功");

            JArray jarr = new JArray();

            JObject now = new JObject();
            now.Add("id", 100);
            now.Add("name", "关羽");
            now.Add("date", "2020-07-21 15:05:21");
            jarr.Add(now);

            now = new JObject();
            now.Add("id", 101);
            now.Add("name", "张飞");
            now.Add("date", "2020-07-21 15:06:21");
            jarr.Add(now);

            obj.Add("data", jarr);

            TestClass test = JsonHelper.ToObject<TestClass>(obj.ToString());
            string json = test.ToJson("yyyy-MM-dd HH:mm:ss");
            JObject testClass = JsonHelper.ToJObject(obj.ToString());




        public class TestClass
        {
            public int code { set; get; }
            public string msg { set; get; }
            public List<dataClass> data { set; get; }

            public class dataClass
            {
                public string id { set; get; }

                public string name { set; get; }

                public DateTime date { set; get; }
            }
        }


        */


        /// <summary>
        /// 字符串是否为空
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsNotEmpty(this string value)
        {
            return string.IsNullOrWhiteSpace(value) == false;
        }

        /// <summary>
        /// model对象转为json字符串
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string ToJson(this object obj)
        {
            return obj == null ? null : JsonConvert.SerializeObject(obj);
        }

        /// <summary>
        /// model对象转为json字符串
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="datetimeformats">时间格式,如:yyyy-MM-dd HH:mm:ss yyyy/MM/dd HH:mm:ss</param>
        /// <returns></returns>
        public static string ToJson(this object obj, string datetimeformats)
        {
            var timeConverter = new IsoDateTimeConverter { DateTimeFormat = datetimeformats };
            return JsonConvert.SerializeObject(obj, timeConverter);
        }

        /// <summary>
        /// json字符串转为model对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="Json"></param>
        /// <returns></returns>
        public static T ToObject<T>(this string Json)
        {
            try
            {
                return Json.IsNotEmpty() == false ? default(T) : JsonConvert.DeserializeObject<T>(Json);
            }
            catch (Exception ex)
            {
                return default(T);
            }

        }

        /// <summary>
        /// json字符串转为泛型集合
        /// </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>
        /// json字符串转为DataTable表格
        /// </summary>
        /// <param name="Json"></param>
        /// <returns></returns>
        public static DataTable ToTable(this string Json)
        {
            return Json == null ? null : JsonConvert.DeserializeObject<DataTable>(Json);
        }

        /// <summary>
        /// json字符串转为json对象
        /// </summary>
        /// <param name="Json"></param>
        /// <returns></returns>
        public static JObject ToJObject(this string Json)
        {
            return Json == null ? JObject.Parse("{}") : JObject.Parse(Json.Replace("&nbsp;", ""));
        }
    }
原文地址:https://www.cnblogs.com/zyx321/p/13354787.html