• JsonHelper类(c#对象与json互转)


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Converters;
     
    namespace YY.SZYD.Shop.Common.Utils
    {
        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();
                _jsonSettings.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Ignore;
                _jsonSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
                _jsonSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
                _jsonSettings.Converters.Add(datetimeConverter);
            }
     
            /// <summary>
            /// 将指定的对象序列化成 JSON 数据。
            /// </summary>
            /// <param name="obj">要序列化的对象。</param>
            /// <returns></returns>
            public static string ToJson(this object obj)
            {
                try
                {
                    if (null == obj)
                        return null;
     
                    return JsonConvert.SerializeObject(obj, Formatting.None, _jsonSettings);
                }
                catch (Exception ex)
                {
                    Logging.LogManager.Error(new Logging.ExceptionLogInfo()
                    {
                        ExceptionClassName = "YY.SZYD.Shop.Common.Utils.JsonHelper",
                        ExceptionMethod = "ToJson",
                        ExceptionNote = "Json序列化出错",
                        RequestInfo = obj.GetType().FullName,
                    },
                    ex);
     
                    return null;
                }
            }
     
            /// <summary>
            /// 将指定的 JSON 数据反序列化成指定对象。
            /// </summary>
            /// <typeparam name="T">对象类型。</typeparam>
            /// <param name="json">JSON 数据。</param>
            /// <returns></returns>
            public static T FromJson<T>(this string json)
            {
                try
                {
                    return JsonConvert.DeserializeObject<T>(json, _jsonSettings);
                }
                catch (Exception ex)
                {
                    Logging.LogManager.Error(new Logging.ExceptionLogInfo()
                    {
                        ExceptionClassName = "YY.SZYD.Shop.Common.Utils.JsonHelper",
                        ExceptionMethod = "ToJson",
                        ExceptionNote = "Json序列化出错",
                        RequestInfo = json,
                    },
                    ex);
     
                    return default(T);
                }
            }
        }
    }
    
  • 相关阅读:
    Java之内存分析和String对象
    Android之MVC模式
    Java之排序总结
    Android之单元测试学习
    Silverlight 拖拽功能
    Silverlight 调用WebServices
    Silverlight IIS 7.5 部署SilverLight4网站以及问题解决
    Silverlight 控件和对话框 源自MSDN 参考
    Silverlight 动画示例
    Sliverlight 动画详细介绍
  • 原文地址:https://www.cnblogs.com/xuhongfei/p/3066206.html
Copyright © 2020-2023  润新知