Json之c#简单运用

本文介绍了C#中如何使用Json.NET库进行对象的序列化与反序列化操作,并展示了如何将数据保存和从文本文件中加载。重点包括查询结果转Json,输入框数据的JSON存储,以及文件读取后自动填充输入字段。

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

json序列化:

using (var db = new Model1())
{
                var result = db.Classes.Select(item => new { CID = item.CID, ClassID = item.ClassID, ClassTeacherName = item.ClassTeacherName, GradeID = item.GradeID });
                //将查询结果转换为Json字符串
                string jsonStr=JsonConvert.SerializeObject(result);
                Console.WriteLine(jsonStr);
                Console.ReadKey();
}

结果:
在这里插入图片描述
json反序列化:

//json字符串转换为json对象
var jsonObject=JsonConvert.DeserializeObject<BoxInfo>(jsonStr);

简单示例:点击按钮,将输入框的数据以json格式传入文本文件,以后程序加载时输入框自动读取文本文件的值。

private void button1_Click(object sender, EventArgs e)
        {
            var box = new BoxInfo();
            //将输入控件的值导入类属性
            box.BarCode = textBox2.Text;
            box.BoxType = (int)System.Enum.Parse(typeof(Enum.BoxType), comboBox1.Text);
            box.BoxStatus= (int)System.Enum.Parse(typeof(Enum.BoxStatus), comboBox2.Text);
            //json序列化
            string str=JsonConvert.SerializeObject(box);
            //将json字符串写入文本文件
            using (FileStream fileStream = new FileStream(@"C:\Users\HOU\Desktop\1.txt", FileMode.OpenOrCreate))
            {
                StreamWriter streamWriter = new StreamWriter(fileStream);
                streamWriter.WriteLine(str);
                streamWriter.Close();
            }

        }

        private void MainForm_Load(object sender, EventArgs e)
        {
        //初始化下拉列表框
            var boxlist1 = System.Enum.GetNames(typeof(Enum.BoxType));
            comboBox1.DataSource = boxlist1;
            comboBox1.SelectedIndex = -1;

            var boxlist2 = System.Enum.GetNames(typeof(Enum.BoxStatus));
            comboBox2.DataSource = boxlist2;
            comboBox2.SelectedIndex = -1;
		//将文本文件内容导入输入框
            using (FileStream fileStream = new FileStream(@"C:\Users\侯松\Desktop\1.txt", FileMode.OpenOrCreate))
            {
                StreamReader streamReader = new StreamReader(fileStream);
                string jsonStr= streamReader.ReadToEnd();
                var jsonObject=JsonConvert.DeserializeObject<BoxInfo>(jsonStr);
                textBox2.Text = jsonObject.BarCode;
                comboBox1.SelectedText = System.Enum.GetName(typeof(Enum.BoxType), System.Enum.ToObject(typeof(Enum.BoxType), jsonObject.BoxType));
                comboBox2.SelectedText= System.Enum.GetName(typeof(Enum.BoxStatus), System.Enum.ToObject(typeof(Enum.BoxStatus), jsonObject.BoxStatus));

                streamReader.Close();

            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值