1.使用JavaScriptSerializer类
Student stu = new Student()
{
Name = "lily",
Age = 11,
};
JavaScriptSerializer js = new JavaScriptSerializer();
string jsonData = js.Serialize(stu);//序列化
Student stu= js.Deserialize<Student>(jsonStr);2.使用DataContractJsonSerializer类
DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(Student));
MemoryStream msObj = new MemoryStream();
//将序列化之后的Json格式数据写入流中
js.WriteObject(msObj, stu);
msObj.Position = 0;
//从0这个位置开始读取流中的数据
StreamReader sr = new StreamReader(msObj, Encoding.UTF8);
string json = sr.ReadToEnd();
sr.Close();
msObj.Close();
//反序列化
string jsonstr= "{\"Name\":\"lily\",\"Age\":\"11\"}";
using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(jsonstr)))
{
DataContractJsonSerializer deseralizer = new DataContractJsonSerializer(typeof(Student));
Student model = (Student)deseralizer.ReadObject(ms);// //反序列化ReadObject
}
3.使用JSON.NET类库
using Newtonsoft.Json;
string jsonData = JsonConvert.SerializeObject(Student)//序列化
string json = @"{ 'Name':lily,'Age':'11','}";
Student stu= JsonConvert.DeserializeObject<Student>(json);//反序列化