.NET中Json序列化反序列化操作辅助类——基于Json.NET

/// <summary>

    /// Json操作辅助类

    /// </summary>

    public static class JsonHelper

    {

        private static JsonSerializerSettings _jsonSettings;



        static JsonHelper()

        {

            IsoDateTimeConverter datetimeConverter = new IsoDateTimeConverter();

            datetimeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";



            _jsonSettings = new JsonSerializerSettings()

            {

                MissingMemberHandling = MissingMemberHandling.Ignore,

                NullValueHandling = NullValueHandling.Ignore,

                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,

            };

            _jsonSettings.Converters.Add(datetimeConverter);



        }



        /// <summary>

        /// 将指定的对象序列化成 JSON 数据。

        /// </summary>

        /// <param name="obj">要序列化的对象。</param>

        /// <returns></returns>

        public static string ToJson(object obj)

        {

            try

            {

                if (null == obj)

                    return null;



                return JsonConvert.SerializeObject(obj, Formatting.None, _jsonSettings);

            }

            catch (Exception ex)

            {

                return null;

            }

        }



        /// <summary>

        /// 将指定的 JSON 数据反序列化成指定对象。

        /// </summary>

        /// <typeparam name="T">对象类型。</typeparam>

        /// <param name="json">JSON 数据。</param>

        /// <returns></returns>

        public static T FromJson<T>(string json)

        {

            try

            {

                return JsonConvert.DeserializeObject<T>(json, _jsonSettings);

            }

            catch (Exception ex)

            {

                return default(T);

            }

        }

    }

 

你可能感兴趣的:(.net)