////// Json扩展方法类(编译时检查,类型安全) /// public static class JsonContextExtension { ////// 从一个对象信息生成Json串 /// /// 转换对象 ///对象类型 ///public static string ToJson (this T obj) { if (typeof(T).FullName.Contains("<>f__AnonymousType")) { //匿名类型 var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); return serializer.Serialize(obj); } else { var serializer = new DataContractJsonSerializer(typeof(T)); string json = string.Empty; using (MemoryStream stream = new MemoryStream()) { serializer.WriteObject(stream, obj); json = Encoding.UTF8.GetString(stream.ToArray()); stream.Close(); } return json; } } /// /// 从一个Json串生成对象信息 /// /// JSON字符串 ///对象类型 ///public static T JsonToObject (this string jsonString) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString))) { var jsonobj = (T)serializer.ReadObject(stream); stream.Close(); return jsonobj; } } }