json的序列化与反序列化

反序列化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;
        }

 

上一篇:常用的三种json软件的使用


下一篇:Python 普通爬虫2