序列化和反序列化

序列化(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。反序列化同样的道理。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值