C#用json格式存储配置文件

编程入门 行业动态 更新时间:2024-10-07 12:21:02

C#用json格式存储<a href=https://www.elefans.com/category/jswz/34/1770506.html style=配置文件"/>

C#用json格式存储配置文件

文章目录

    • json
    • 参数保存

txt阅读器系列:

  • 需求分析和文件读写
  • 目录提取类💎列表控件与目录💎快捷键翻页
  • 字体控件绑定💎前景/背景颜色
  • 书籍管理系统💎用树形图管理书籍
  • 语音播放💎播放进度显示💎快进快退💎自定义语速控件💎Binding
  • 文本清理的布局💎段落合并💎编码检测

json

每个人都有不同的阅读偏好,有的人喜欢大字体,不伤眼;有的人喜欢读小字,读的快,如果每次打开软件,其基本配置是一层不变的,那么每次打开都要设置一次,十分麻烦。

为了解决这个问题,可以通过配置文件,将参数保存下来,而存储文件的格式,推荐选择json,一种天然的键值对协议格式。C#中封装了System.Text.Json,但目前来说并不完善,为了更好的体验,需要需要在NuGet中搜索添加经典的NewtonSoft.Json,。

Newtonsoft.Json中,函数JsonConvert.DeserializeObject可以将泛型变量设为字典,下面举一个例子

using Newtonsoft.Json;var dct = JsonConvert.DeserializeObject<Dictionary<string, string>>(js);
foreach (var item in dct)Console.WriteLine($"{item.Key}:{item.Value}");

结果为

Date:2023-05-11T15:54:46.2907782+08:00
Temperature:25
Summary:Hot

相应地,将字典编写为json格式字符串,可通过JsonConvert.SerializeObject来实现

var dct = new Dictionary<string, string>()
{{"Date", DateTime.Now.ToString("f") },{"Temp", "25" },{"Summary", "Hot" }
};string js = JsonConvert.SerializeObject(dct);
Console.WriteLine(js);

效果为

{"Date":"2023年5月11日 16:44","Temp":"25","Summary":"Hot"}

参数保存

目前这个软件尚未完成,其参数面板如下,这里面所有已经实现的功能,都可以加入到参数列表中。

由于我们目前并没有一个可供加载的参数文件,所以先写保存参数的逻辑。

private void saveParaJson(string filePath)
{var dct = new Dictionary<string, string>(){{"字体", cbFont.Text },{"尺寸", sFontSize.ToString() },{"前景", cbForeColor.Text},{"背景", cbBgColor.Text },{"音量", sSoundVolume.ToString() },{"语速", sSpeechRate.ToString() },{"区域", cbSoundCulture.Text },{"音源", cbSoundSource.Text },{"编码", cbEncoding.Text }};string js = JsonConvert.SerializeObject(dct, Formatting.Indented);File.WriteAllText(filePath, js, Encoding.UTF8);
}

其中AdvancdSlider是自定义的控件,故而在其中添加一个ToString函数,这样的好处是以后在调用的时候更加方便。

public string ToString()
{return Value.ToString();
}

接下来整两个按钮,分别是保存参数加载参数,其中保存参数的事件如下

const string FMT_CFG = "配置文件(*.json)|*.json";
private void btnSavePara_Click(object sender, RoutedEventArgs e)
{var sfd = new SaveFileDialog();sfd.Filter = FMT_CFG;if (sfd.ShowDialog() != true) return;saveParaJson(sfd.FileName);}

更多推荐

C#用json格式存储配置文件

本文发布于:2024-02-25 17:36:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1699779.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:配置文件   格式   json

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!