C# 读写Json格式配置文件信息

2023-09-24 最后更新

相关视频教程 https://www.bilibili.com/video/BV1av411n74E(如果不会请看我录制的视频教程)
这里对Josn解析,用的是Newtonsoft.Json,以下是核心代码

public class JosnConfigHelper
{
    /// <summary>
    /// 读取配置信息
    /// </summary>
    /// <param name="key"></param>
    /// <param name="value">默认值,读取为空是返回</param>
    /// <returns></returns>
    public string ReadConfig(string key, string value = "0")
    {
        Dictionary<string, string> configDic = ReadAll();
        if (configDic != null && configDic.ContainsKey(key))
        {
            return configDic[key];
        }
        else
        {
            return value;
        }
    }
    /// <summary>
    /// 添加配置信息
    /// </summary>
    /// <param name="key"></param>
    /// <param name="value"></param>
    public void WriteConfig(string key, string value)
    {
        Dictionary<string, string> configDic = ReadAll();
        configDic[key] = value;
        string s = JsonConvert.SerializeObject(configDic);
        File.WriteAllText("config.json", s);
    }
    /// <summary>
    /// 删除配置信息
    /// </summary>
    /// <param name="key"></param>
    public void DeleteConfig(string key)
    {
        Dictionary<string, string> configDic = ReadAll();
        if (configDic != null && configDic.ContainsKey(key))
        {
            configDic.Remove(key);
            string s = JsonConvert.SerializeObject(configDic);
            File.WriteAllText("config.json", s);
        }
    }
    /// <summary>
    /// 删除所有配置信息
    /// </summary>
    /// <param name="key"></param>
    public void ClearConfig(string key)
    {
        Dictionary<string, string> configDic = new Dictionary<string, string>();
        string s = JsonConvert.SerializeObject(configDic);
        File.WriteAllText("config.json", s);
    }
    /// <summary>
    /// 读取所有
    /// </summary>
    /// <returns></returns>
    public Dictionary<string, string> ReadAll()
    {
        if (!File.Exists("config.json"))//如果不存在就创建file文件夹
        {
            FileStream f = File.Create("config.json");
            f.Close();
        }
        string s = File.ReadAllText("config.json");
        Dictionary<string, string> configDic = new Dictionary<string, string>();
        try
        {
            configDic = JsonConvert.DeserializeObject<Dictionary<string, string>>(s);
        }
        catch{}
        if (configDic == null)
        {
            configDic = new Dictionary<string, string>();
        }
        return configDic;
    }
}

本文来自 www.luofenming.com