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