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

专业做俄语网站建设司/天津seo排名公司

专业做俄语网站建设司,天津seo排名公司,怎么能够找到免费的网址,上海定制化网站开发** C# 手把手教你写一个自己的Json文件读取帮助类 ** 前言 在.net core或者高版本的.net框架中,很多基础函数的用法已经给你封装的很好了,比如我们就可以配置后直接使用Configuration[‘property’]来获取json文件的内容。但是在一些老项目当中&#…

**

C# 手把手教你写一个自己的Json文件读取帮助类

**

前言

  在.net core或者高版本的.net框架中,很多基础函数的用法已经给你封装的很好了,比如我们就可以配置后直接使用Configuration[‘property’]来获取json文件的内容。但是在一些老项目当中,你可能就用不了那些封装好的库了,你会为了读取一些json文件、xml文件而焦头烂额。
  此时,我建议读一读这篇文章。

什么是Json文件,有什么作用

  json文件通常在我们的一个项目中,用作一些参数的配置文件。因为在项目打包运行中,json文件不会被编译而是保留下来。在一些上线项目中,有事我们需要修改一些配置参数,比如国内国外,开关某个功能时,无疑会方便很多。

实现方式

  实现,我们首先还是肯定要先使用系统接口文本IO将其读取出来,然后利用jObjet进行处理,最后json序列化或反序列化为自己想要的东西。

代码

加载json文件

    /// <summary>/// Json文件工具类/// </summary>public class JsonHelper{protected string TextJson { get; set; }private string File { get; set; }protected JsonHelper(){}// 传入文件路径protected JsonHelper(string file){if (!System.IO.File.Exists(file)){throw new FileNotFoundException(file);}File = file;TextJson = System.IO.File.ReadAllText(file);}/// <summary>/// 加载json文件/// </summary>/// <param name="filePath">文件绝对路径</param>/// <returns>返回jsonHelper实例</returns>public static JsonHelper LoadJsonFile(string filePath){return new JsonHelper(filePath);}public JsonAppSetting AppSetting => new JsonAppSetting(File);}

通过JObject对象格式化json文件内容,索引器读取并返回结果

/// <summary>/// 读json/// </summary>public class JsonAppSetting : JsonHelper{private JObject JObject { get; set; }public JsonAppSetting(string _file) : base(_file){JObject = JObject.Parse(TextJson);}/// <summary>/// 读取json数据/// </summary>/// <param name="key">键值key 例子 A:B:C</param>/// <returns>返回对应键值的json数据</returns>public string this[string key]{get{var keyArray = key.Split(":".ToArray());var firstKey = keyArray.FirstOrDefault();var otherKey = keyArray.Skip(1);JToken jToken = JObject[firstKey];foreach (var item in otherKey){jToken = jToken[item];}return JsonConvert.SerializeObject(jToken);}}}

示例json文件,在项目根目录下,为appsettings.json

{"Translation": {"Baidu": {"Url": "https://fanyi-api.baidu.com/api/trans/vip/translate","AppId": "abc","Key": "cba"}},"ConnectionStrings": {"SoftDb": "Database=baseName;Server=ip;uid=uid;pwd=pwd"},"LocalUrl": "http://localhost:1234","EnableMaps": [ "baidu", "here", "gaode" ]
}

使用方法

你可以这样使用

// 外面包一层公用类,直接使用项目根目录+ appsettings.json固定文件
public class Common
{private static JsonHelper _jsonHelper;/// <summary>/// Json读取工具/// </summary>public static JsonHelper JsonHelper{get{if (_jsonHelper == null){var file = AppDomain.CurrentDomain.BaseDirectory + "appsettings.json";_jsonHelper = JsonHelper.LoadJsonFile(file);}return _jsonHelper;}}
}
public class test
{public void testFunc(){var localUrl = Common.JsonHelper.AppSetting["LocalUrl"]; //"http://localhost:1234"var softDb = Common.JsonHelper.AppSetting["ConnectionStrings:SoftDb"]; //"Database=baseName;Server=ip;uid=uid;pwd=pwd"var enableMap = JsonConvert.DeserializeObject<List<string>>(JsonHelper.AppSetting["EnableMaps"]);//列表[ "baidu", "here", "gaode" ]}
}

当然你也可以这样,自己指定路径

public class test
{public void testFunc(){var _jsonHelper = JsonHelper.LoadJsonFile(filePath);var localUrl = _jsonHelper.AppSetting["LocalUrl"]; //"http://localhost:1234"var softDb = _jsonHelper.AppSetting["ConnectionStrings:SoftDb"]; //"Database=baseName;Server=ip;uid=uid;pwd=pwd"var enableMap = JsonConvert.DeserializeObject<List<string>>(_jsonHelper.AppSetting["EnableMaps"]);//列表[ "baidu", "here", "gaode" ]}
}

总结

  不管需要什么文件的数据,到得底层都是文本读写,我们只不过是需要将文本里的内容读取出来,通过不同的编码或者处理而已。

最后感谢大家的阅读,如有疑问,欢迎一起探讨!

http://www.lbrq.cn/news/1431451.html

相关文章:

  • 台州企业网站搭建价格/还有哪些平台能免费营销产品
  • 如何把网站建设好/禁止搜索引擎收录的方法
  • h5微信网站建设/大型的营销型网站
  • 云南微网站建设的公司有哪些/百度官方版
  • 做网站要什么条件/广东东莞疫情最新情况
  • 太原市手机网站建设/做网页
  • 沽源网站建设案例/信息流优化师培训机构
  • 做网站需要公司有哪些/提高工作效率的重要性
  • https网站建设花费/外链工具软件
  • 网站开发价格明细/做网站怎么做
  • 做平台销售网站/大数据营销的案例
  • 青岛注册公司核名在哪个网站/徐州自动seo
  • 小规模公司做网站成本是什么/网络营销的手段包括
  • 如果做二手车网站/专业营销团队外包公司
  • 同ip怎么做不同的网站/乐山网站seo
  • 无锡网站排名哪家好/疫情防控最新政策
  • 对新网站做seo大概需要多久/今日国际军事新闻
  • 贵阳高端网站设计公司/app推广平台排行榜
  • 关于化妆品网站成功案例/成功的网络营销案例及分析
  • 网站备案符号/如何被百度收录
  • 做的比较好的网站/百度快速排名 搜
  • 网站开发 周期/网站首页面设计
  • 庆阳网站网站建设/b站视频推广
  • .我爱你 域名网站/百度平台营销软件
  • 曲阜住房和城乡建设局网站/友情链接搜读
  • 男女在床上做孔网站/厦门seo俱乐部
  • 威海做网站公司/软文编辑器
  • 自做网站视频/长沙网站优化指导
  • 做网站499/文库百度登录入口
  • 南京做网站建设有哪些内容/企业网站seo平台
  • Linux-地址空间
  • 开发避坑指南(26):Vue3 input输入框前置后 置元素解决方案
  • 实体店获客新引擎:数据大集网如何破解传统门店引流难题
  • 【每天一个知识点】生物的数字孪生
  • 分享10个ai生成ppt网站(附ai生成ppt入口)
  • Spring Boot + Redis + 布隆过滤器防止缓存穿透