第一种序列化的方法:
先引用System.Web.Script.Serialization命名空间,使用其中的JavaScriptSerializer类实现序列化!
For Example:
step 1: 定义一个类
public class Person
{
public string name
{
get;
set;
}
public int age
{
get;
set;
}
}
step 2:定义类的一个对象
Person per=new Person();
per.name="小钱博客";
per.age=1;
string str="";
JavaScriptSerializer json = new JavaScriptSerializer();
str = json.Serialize(p);
Console.WriteLine(str);
序列化的输出结果: {"name":"小钱博客","age":1}
第二种序列化的方法:先引用System.Runtime.Serialization.Json命名空间(此前必须要引用System.ServiceModel.Web和System.ServiceModel命名空间,当然安装.NetFramework 3.5),使用DataContractJsonSerializer类实现序列化
For Example:
step 1:定义一个类(加DataContractAttribute和DataMemberAttribute)
[DataContract]
public class Person
{
[DataMember]
public string name
{
get;
set;
}
[DataMember]
public int age
{
get;
set;
}
}
step 2:定义类的一个对象
Person per=new Person();
per.name="小钱博客";
per.age=1;
string str="";
DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(Person));
StreamReader sr = null;
using (MemoryStream stream1 = new MemoryStream())
{
json.WriteObject(stream1, p);
stream1.Position = 0;
sr = new StreamReader(stream1);
str = sr.ReadToEnd();
}
或者
str= Encoding.UTF8.GetString(stream1.ToArray());
Console.WriteLine(str);
序列化的输出结果: {"age":1,"name":"小钱博客"}