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);
			}
		}

猜你喜欢

转载自blog.csdn.net/CXYLVCHF/article/details/111152082
今日推荐