lookat 发表于 2023-9-1 12:39

C# 用json存储到本地文件再读取


//存
private static string path = Application.StartupPath+ "\\"+ “文件名加扩展”;   // 软件运行地址 + 文件名加扩展
StreamWriter sw = new StreamWriter(path);
            JObject job = new JObject();
            job.Add("k1", "v");
            job.Add("k2", "v");
            sw.WriteLine(job.ToString());
            sw.Close();


//取
StreamReader sr;
            JObject job;

            try
            {
                sr = new StreamReader(path);
                job = (JObject)JsonConvert.DeserializeObject(sr.ReadToEnd());
                sr.Dispose();
                sr.Close();
                if (job != null)
                {
                  if (job.Property("k1") != null)
                  {
                        string k1 = job["k1"].ToString();
                        textBox1.Text = k1;
                  }
                  if (job.Property("k2") != null)
                  {
                        string k2 = job["k2"].ToString();
                        textBox2.Text = k2;
                  }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString() + "此模块错误");
                //Console.WriteLine("Exception: " + ex.Message);
            }

pdone 发表于 2023-9-1 15:44

分享另一种思路。

https://github.com/pdone/FreeControl/blob/7700b69bde2b5ee7540ea010841c40c84d312dfe/FreeControl/Utils/JsonHelper.cs#L11


https://github.com/pdone/FreeControl/blob/7700b69bde2b5ee7540ea010841c40c84d312dfe/FreeControl/Main.cs#L83

town174 发表于 2023-9-1 16:35

参考以下代码
class Program
{
    static void Main(string[] args)
    {
      // 创建一个Person对象
      var person = new Person
      {
            Name = "John Doe",
            Age = 30
      };

      // 将Person对象序列化为JSON字符串
      string jsonString = JsonSerializer.Serialize(person);

      // 指定存储JSON文件的路径
      string filePath = "person.json";

      // 将JSON字符串写入文件
      File.WriteAllText(filePath, jsonString);

      // 从文件中读取JSON字符串
      string jsonFromFile = File.ReadAllText(filePath);

      // 将JSON字符串反序列化为Person对象
      var personFromFile = JsonSerializer.Deserialize<Person>(jsonFromFile);

      // 输出读取的数据
      Console.WriteLine($"Name: {personFromFile.Name}");
      Console.WriteLine($"Age: {personFromFile.Age}");
    }
}

sordar 发表于 2023-9-1 15:50

不对齐看着不舒服

zbb2012 发表于 2023-9-1 19:40

xjwebs 发表于 2023-9-1 19:54

zbb2012 发表于 2023-9-1 19:40
几行代码就可以完成的事,你搞那么多行

哈哈哈,高手要爱护新手:loveliness:

∫護着妳佉遠方 发表于 2023-9-1 20:43

zbb2012 发表于 2023-9-1 19:40
几行代码就可以完成的事,你搞那么多行

细说怎么写,新人学习

moruye 发表于 2023-9-1 21:33

nanaqilin 发表于 2023-9-1 21:55

zbb2012 发表于 2023-9-1 19:40
几行代码就可以完成的事,你搞那么多行

我有几个跨地区部门的同事,写代码就是一行能解决的问题,他能写出50来行{:1_925:}
感觉很可能是他们那个城市是按代码行数是钱的唯一标准

lq2007 发表于 2023-9-1 23:37

zbb2012 发表于 2023-9-1 19:40
几行代码就可以完成的事,你搞那么多行

他这个也差不多,核心也就三句,其他都在准备数据。。。
页: [1] 2
查看完整版本: C# 用json存储到本地文件再读取