lubianxiaolang 发表于 2012-12-22 21:32:50

Json帮助类

<div class="postcontent"><div id="cnblogs_post_body"> /// <summary>
      /// 转化为JSON格式
      /// </summary>
      /// <param name="obj"></param>
      /// <param name="depth">RecursionLimit</param>
      /// <returns></returns>
      public static string ToJson(this object obj, int maxDepth = 10)
      {
            JsonSerializerSettings settings = new JsonSerializerSettings();
            //settings.MaxDepth = maxDepth;
            settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            settings.Converters.Add(new JavaScriptDateTimeConverter());
            return JsonConvert.SerializeObject(obj, settings);
      }
      public static string ToJsonIsoDateTime(this object obj)
      {
            JsonSerializerSettings settings = new JsonSerializerSettings();
            settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            settings.Converters.Add(new IsoDateTimeConverter());
            return JsonConvert.SerializeObject(obj, settings);
      }
      /// <summary>
      /// 将JSON反序列化为对象
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="sJason"></param>
      /// <returns></returns>
      public static T FromJson<T>(this string obj, int maxDepth = 2)
      {
            JsonSerializerSettings settings = new JsonSerializerSettings();
            //settings.MaxDepth = maxDepth;
            settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            settings.Converters.Add(new JavaScriptDateTimeConverter());
            return JsonConvert.DeserializeObject<T>(obj, settings);
      }
      /// <summary>
      /// 将JSON反序列化为对象
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="sJason"></param>
      /// <returns></returns>
      public static T FromJsonIsoDateTime<T>(this string obj)
      {
            return JsonConvert.DeserializeObject<T>(obj, new IsoDateTimeConverter());
      }

/// <summary>
      /// 转化为JSON格式
      /// </summary>
      /// <param name="obj"></param>
      /// <param name="depth">RecursionLimit</param>
      /// <returns></returns>
      public static string ToJson(object obj, int maxDepth = 2)
      {
            return obj.ToJson(maxDepth);
      }
      /// <summary>
      /// 将JSON反序列化为对象
      /// </summary>
      /// <typeparam name="T"></typeparam>
      /// <param name="sJason"></param>
      /// <returns></returns>
      public static T FromJson<T>(string obj, int maxDepth = 2)
      {
            return obj.FromJson<T>(maxDepth);
      }
页: [1]
查看完整版本: Json帮助类