/// <summary> System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer(); try return jss.Deserialize<T>(jsonText); } catch (Exception ex) throw new Exception("JSONHelper.JSONToObject(): " + ex.Message); } } /// <summary> /// JSON反序列化 /// 这个可以将对象反系列化成集合任何asp.net,C#对象 /// </summary> public static T JsonDeserialize<T>(string jsonString) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)); T obj = (T)ser.ReadObject(ms); return obj; } using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.Script.Serialization; namespace Woo.Utility
{ /// <summary> /// 用于标识可以Json /// </summary> public interface IJson { } /// <summary>
/// Json扩展方法 /// </summary> public static class JsonExtensions { /// <summary> /// 返回JSON字符串 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToJSON(this IJson obj) { var ser = new JavaScriptSerializer(); return ser.Serialize(obj); } /// <summary> /// 返回JSON字符串 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToJSON(this IEnumerable<IJson> obj) { var ser = new JavaScriptSerializer(); return ser.Serialize(obj); } /// <summary> /// 返回JSON字符串 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToJSON(dynamic obj) { var ser = new JavaScriptSerializer(); return ser.Serialize(obj); } /// <summary> /// 返回JSON字符串 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToJSON(this IEnumerable<Woo.Model.IEntity> obj) { var lst = obj.Select(a => a.ToJsonObject()); var ser = new JavaScriptSerializer();
return ser.Serialize(lst); } /// <summary> /// 返回JSON字符串 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToJSON(this Woo.Model.IEntity obj) { var ser = new JavaScriptSerializer(); return ser.Serialize(obj.ToJsonObject()); } /// <summary>
/// 返回JSON字符串 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToJSON(this Dictionary<string, object> obj) { var ser = new JavaScriptSerializer(); return ser.Serialize(obj); } /// <summary> /// 返回JSON字符串 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToJSON(this IEnumerable<Dictionary<string, object>> obj) { var ser = new JavaScriptSerializer(); return ser.Serialize(obj); } /// <summary> /// 得到指定的值 /// </summary> /// <param name="dic"></param> /// <param name="key">关键字</param> /// <param name="DefaultValue">默认值</param> /// <returns></returns> public static string GetValue(this Dictionary<string, object> dic, string key, string DefaultValue = null) { object val; if (dic.TryGetValue(key, out val)) { if (val == null) return ""; return val.ToString();
} if (DefaultValue != null) return DefaultValue; return ""; } } } |
|