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

JSON序列化类

    public class JsonFileHelper{public static string JsonConfigFileName = "SunSofteWareAppConfig.Json";#region 配置文件读写/// <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, Formatting.Indented);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(strJson, typeof(T));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/53320/

相关文章:

  • 致深度学习小白:一文入门分布偏移
  • Day26过渡属性
  • Yanhua 2025 BMW BDC2 Key Learning Bench Platform with Module38 for G Series All Key Lost
  • 选购攻略!2025 厨余处理器 7大品牌,中餐适配款优先级推荐
  • Day4-20251127
  • 摄相机标定的基本原理 - 教程
  • 上海国际学科哪家好?2025 IB 培训机构权威榜单
  • WPF populate BooksCollection via Dispatcher.InvokeAsync,DispatcherPriority.Background in mvvm
  • 2025 年 12 月 AMC12 竞赛备考:上海补课机构优选,选对助力高效冲分
  • 痞子衡嵌入式:i.MXRT中FlexSPI外设速度上限的三个影响因子(数据手册里的纠结)
  • Yanhua Mini ACDP-2 Module 38: BMW BDC2 Keys Learning LF Smart Key Antenna Bench Platform
  • 第二天—C++语法基础
  • 自指自洽,别具一格的逻辑,千奇百怪的因果
  • Day26垂直对齐方式--vertical-align
  • 2025 年 12 月上海 AMC12 择校指南:选对专业机构,高效冲刺竞赛目标
  • USB输入监控
  • 2025年度绍兴交通事故优秀律师推荐|聚焦实力与口碑
  • 最小链覆盖 - Dilworth 定理 小记
  • 我研发了一款电影截图拼接神器:Eagle 插件让你的影片收藏更专业
  • 有种人
  • memset 破坏string
  • 关于字符串的小记
  • [NOIP2024] 编辑字符串-题解
  • 机器人设备端AI技术实现突破
  • 11月27日日记
  • 信创环境 海光7455D+深信服超融合+阿里龙晰8.6 虚拟机扩容方法 - yi
  • 251127今天是学习的一天
  • 三菱Q/西门子S7-300 PLC互联Modbus TCP 转 Modbus RTU工业网关
  • 基于Java+SSM+Flask宠物综合服务平台(源码+LW+调试文档+讲解等)/宠物服务/宠物商城/宠物用品/宠物医疗/宠物美容/宠物寄养/宠物保险/宠物社区/宠物咨询/宠物培训 - 指南
  • 金融科技中网络安全的关键作用