序列化(list转json)
public string ToSerialize(List<Task> person)
{
//序列化对象
DataContractJsonSerializer toser = new DataContractJsonSerializer(typeof(List<Task>));
//创建一个流
MemoryStream ms = new MemoryStream();
//将对象转换成json存储,并写入流中
toser.WriteObject(ms, person);
//编码格式为UTF-8,将流的内容写入数组
string jsonStr = Encoding.UTF8.GetString(ms.ToArray());
return jsonStr;
}
反序列化(json转list)
public List<UserEntity> Deserialize(string jsonStr)
{
//反序列化对象
DataContractJsonSerializer deser = new DataContractJsonSerializer(typeof(List<UserEntity>));
//编码方式为UTF-8,将字符串变为一个字节序列并存储在数组
byte[] byteData = UTF8Encoding.UTF8.GetBytes(jsonStr);
//创建一个流接收字节序列数组
MemoryStream ms1 = new MemoryStream(byteData);
//用实体接收(用json接收的文档流)返回的反序列化的对象
List<UserEntity> flist = (List<UserEntity>)deser.ReadObject(ms1);
return flist;
}
实例:
下图代表了转换的格式,如果是实体,就改成实体,就是将实体序列化为json。反序列化同样的道理。