C# 通过序列化和反序列化进行json字符串的简单读写操作

C# 通过序列化和反序列化进行json字符串的简单读写操作

写操作:

  1. 调用JsonConvert.SerializeObject(task)进行序列化
  2. 使用File.WriteAllText()进行文件的写入
//参考代码段:
		private void save_json()
		{
			try
			{
			   //获取文件
				string fp = System.Environment.CurrentDirectory + @"\test.json";
				//判断文件是否存在,不存在则创建
				if (!File.Exists(fp))
				{
					FileStream fs1 = new FileStream(fp, FileMode.Create, FileAccess.ReadWrite);
					fs1.Close();
				}
	           //Global.task表示定义类的对象
				string jsonData = JsonConvert.SerializeObject(Global.task); 
				//File.WriteAllText(fp, jsonData);//这样直接保存会出现中文字符的乱码,默认保存unicode
				File.WriteAllText(fp, jsonData, Encoding.UTF8);//设置编码方式,确保中文不乱码
				}
			catch(Exception ex)
			{
				MessageBox.Show(ex.Message);
			}
		}

读操作:

  1. 调用File.ReadAllText(file)进行读入
  2. 使用task = JsonConvert.DeserializeObject(File.ReadAllText(file))进行反序列化操作
		private void read_json()
		{
			try
			{
				//获取文件
				string fp = System.Environment.CurrentDirectory + @"\test.json";
				if (File.Exists(fp))
				{
					//Global.task表示定义类的对象
					Global.task = JsonConvert.DeserializeObject<Task>(File.ReadAllText(fp));
				}
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.Message);
			}
		}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值