json的序列化与反序列化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenguanghan123/article/details/89298763

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

猜你喜欢

转载自blog.csdn.net/chenguanghan123/article/details/89298763