c#4 json数据序列号与反序列化

本文介绍了一个使用 C# 进行 JSON 数据序列化与反序列化的简单示例,通过创建 People 类的对象,并利用 DataContractJsonSerializer 类进行序列化处理,之后再将 JSON 字符串反序列化回对象列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System.Runtime.Serialization.Json;

            myclass.People people = new myclass.People();
            people.Id = 1;
            people.Name = "小白";
            myclass.People people2 = new myclass.People();
            people2.Id = 2;
            people2.Name = "小黑";
            List<myclass.People> peoples = new List<myclass.People>();
            peoples.Add(people);
            peoples.Add(people2);
            DataContractJsonSerializer json = new DataContractJsonSerializer(peoples.GetType());
            string szJson = "";
            //序列化
            using (System.IO.MemoryStream st = new System.IO.MemoryStream())
            {
                json.WriteObject(st, peoples);
                szJson = Encoding.UTF8.GetString(st.ToArray());
                MessageBox.Show(szJson);
            }
            //反序列化
            using (System.IO.MemoryStream ms = new System.IO.MemoryStream(Encoding.UTF8.GetBytes(szJson)))
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(List<myclass.People>));
                List<myclass.People> _people = (List<myclass.People>)serializer.ReadObject(ms);
                foreach (myclass.People p in _people)
                {
                    MessageBox.Show(p.Id.ToString() + p.Name.ToString());
                }
                //MessageBox.Show(_people.Id.ToString() + _people.Name.ToString());
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值