当前位置: 首页 > news >正文

c#json帮助类

 public class JsonFileHelper{public static string JsonConfigFileName = "SunSofteWareAppConfig.Json";#region 配置文件读写private static JsonSerializerSettings _settings = new JsonSerializerSettings{TypeNameHandling = TypeNameHandling.Auto, // 关键:自动保存类型信息Formatting = Formatting.Indented};/// <summary>/// 将配置对象写入程序执行目录指定名称的文件/// </summary>/// <param name="config">配置对象</param>/// <param name="strConfigFileFullPath">配置文件绝对路径</param>/// <returns></returns>public static string SaveConfig(object config, string strConfigFileFullPath){string strRes = string.Empty;try{if (config == null){if (File.Exists(strConfigFileFullPath)){File.Delete(strConfigFileFullPath);}}string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(config, _settings);File.WriteAllText(strConfigFileFullPath, strJson);}catch (Exception ex){strRes = ex.Message;}return strRes;}/// <summary>/// 将配置对象写入程序执行目录指定名称的文件/// </summary>/// <param name="config">配置对象</param>/// <param name="strStartPath">文件存放目录</param>/// <param name="strConfigFileName">配置文件名称</param>/// <returns></returns>public static string SaveConfig(object config, string strStartPath, string strConfigFileName = null){string strRes = string.Empty;string strFileName = string.IsNullOrEmpty(strConfigFileName) ? JsonConfigFileName : strConfigFileName;string strPath = Path.Combine(strStartPath, strFileName);return SaveConfig(config, strPath);}/// <summary>/// 读取配置文件的配置信息对象/// </summary>/// <typeparam name="T">泛型类型</typeparam>/// <param name="strConfigFileFullPath">配置文件的绝对路径</param>/// <returns></returns>public static T ReadConfig<T>(string strConfigFileFullPath) where T : class{T oRes = default(T);try{if (File.Exists(strConfigFileFullPath)){string strJson = File.ReadAllText(strConfigFileFullPath);if (!string.IsNullOrEmpty(strJson)){object oConvertRes = Newtonsoft.Json.JsonConvert.DeserializeObject<T>(strJson, _settings);if (oConvertRes != null){oRes = oConvertRes as T;}}}}catch (Exception ex){throw ex;}return oRes;}/// <summary>/// 读取配置对象信息/// </summary>/// <typeparam name="T">配置对象泛型类型信息</typeparam>/// <param name="strStartPath">程序启动路径</param>/// <param name="strName">配置文件名称</param>/// <returns></returns>public static T ReadConfig<T>(string strStartPath, string strName) where T : class{string strPath = Path.Combine(strStartPath, strName);return ReadConfig<T>(strPath);}#endregion}

 

http://www.jsqmd.com/news/44016/

相关文章:

  • 11.17 事务的隔离级别
  • 获取当前软件的内存
  • foobar2000 v2.25.3 汉化版
  • 详细介绍:深度学习 计算机视觉 Kaggle(上):从理论殿堂起步 ——像素、特征与模型的进化之路
  • 默认SVN忽略bin和obj文件夹,即使是Add也不默认勾选
  • DDOS 科普与防御
  • 思维trick总结
  • Web of Things (WoT) 物描述 2.0 首个公开工作草案发布
  • IGMP 因特网组管理协议
  • msys中安装git for window
  • 图形渲染与 GPU 交互中的 C++ 性能优化技巧 - 教程
  • 详细介绍:代码随想录第七天|哈希表part02--454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
  • 以太网交换机的吞吐量
  • Traefik:Go 实现的云原生反向代理,微服务路由自动化利器
  • 罗盘
  • 第一章 语法基础——语法基础
  • 计算机网络中最短帧长的概念
  • Cypher语法
  • 2025江浙沪方向专线物流、(冷库)往返运输、智能仓储优选服务商推荐:深耕江苏苏州、高邮、镇江,覆盖全国及国际线路,供应链定制方案/当日往返物流/智能共享仓储/分拨中心
  • 【Wireshark数据分析实战】 - 指南
  • 【贪心】P9525 [JOIST 2022] 团队竞技 / Team Contest 题解
  • noip9
  • 常见的steam游戏的营销错误
  • MX Round 26 解题报告
  • linux c 编译命令
  • N8N工作流中文转换神器!一键转中文
  • 今天学习黑马的Java基础
  • linux c 线程编程
  • 容器网络虚拟化
  • 整体二分学习笔记