先要引用在程序集 System.Web.Extensions.dll 的类库,在类中 using System.Web.Script.Serialization 命名空间。
1、定义一个强类型的类(model):
1 [Serializable]2 public class Person3 {4 public int Age { get; set; }5 public string Name { get; set; }6 }
2、将对象 序列化 成json字符串方法
1 #region 将对象 序列化 成json字符串 2 ///3 /// 将对象 序列化 成json字符串 4 /// 5 /// 需要序列化的对象 6 ///返回序列化json的对象 7 public string ObjSerializableJson(object obj) 8 { 9 string result = null;10 JavaScriptSerializer javaScript = new JavaScriptSerializer();11 result = javaScript.Serialize(obj);12 return result;13 } 14 #endregion
3、将json格式的字符串 反序列化 成对象方法
1 #region 将json格式的字符串 反序列化 成对象 2 ///3 /// 将json格式的字符串 反序列化 成对象 4 /// 5 ///对象类型 6 /// json字符串 7 ///返回 T 类型的对象 8 public T ContraSerializableJson(string jsonStr) 9 {10 JavaScriptSerializer javaScript = new JavaScriptSerializer();11 return javaScript.Deserialize (jsonStr);12 } 13 #endregion
使用例子:
1 Listlist = new List ()2 {3 new Person() { Age = 0, Name = "张三" }, 4 new Person() { Age = 1, Name = "李四" }, 5 new Person() { Age = 2, Name = "小二" }6 };7 string json = ObjSerializableJson(list); //得到序列化json字符串8 9 List listJson = ContraSerializableJson
>(json); //得到 将对象反序列化的对象