文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>JsonHelper类(c#对象与json互转)

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

时间:2011-01-06  来源:skyzhou

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);
                        }
                }
        }
}

 

dll下载

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载