.net core2.0添加json文件并转化成类注入控制器使用

  上一篇,我们介绍了如何读取自定义的json文件,数据是读取出来了,只是处理的时候太麻烦,需要一遍一遍写,很枯燥.那么有没有很好的办法呢?经过钻研,办法有了.

  既然一个一个读取比较麻烦,那么可以把它放入一个类里面么?当然可以.这样直接注入这个类,让控制器去读取,那么就不需要每次加载它了,一次加载就可以在任何地方使用了.

  由于本文是接这上一篇文章的更新介绍,请先读取上一篇文章再浏览此篇文章

(1):在Models文件夹中添加类Class,并填写如下代码:

namespace CoreDemo.Models
{
    public class Class
    {
        public int ClassNum { get; set; }
        public string ClassName { get; set; }
        public List<Student> Students { get; set; }
    }
    public class Student
    {
        public string name { get; set; }
        public int age { get; set; }
    }
}

(2):更新Startup.cs脚本,更新函数ConfigureServices:

 public void ConfigureServices(IServiceCollection services)
        {
            var classSetting = JsonConvert.DeserializeObject<Class>(File.ReadAllText("JsonFile/class.json"));
            services.AddSingleton(classSetting);//全局注入
            services.AddMvc();
        }

(3):更新Home控制器,将配置类注入进来并使用:

 public class HomeController : Controller
    {
        private readonly Class _classSetting;
        public HomeController(Class classSetting)
        {
            _classSetting = classSetting;
        }

        public IActionResult Index()
        {
            return Content("班级编号="+ _classSetting.ClassNum + ",班级名称="+ _classSetting.ClassName + "\r"
                +"学生名称="+ _classSetting.Students[0].name+",学生年纪="+ _classSetting.Students[0].age
            );
        }
    }

(4):运行项目,查看运行结果,成功:

总结:如果将配置文件一个一个读取的话是可行的,只是太麻烦,如果其他地方也需要用到的话又需要再次加载读取,浪费开发效率与运行效率.直接以类的方式加载并注入,可以让它在每个地方运行,消耗最少,效率最高.

(提醒:如果代码中发现报错的情况是因为有些程序集没有引用,直接将鼠标移动到报错的地方然后就可以将程序集引用到项目中了)

原文地址:https://www.cnblogs.com/ontheroute/p/8892014.html

时间: 2024-10-15 11:33:06

.net core2.0添加json文件并转化成类注入控制器使用的相关文章

Gson使用google的JsonReader读取Json文件并转化成对象

使用到的类 Gson 在Android Studio中搜索Gson library dependcies 只能使用小写,gson:否则会搜不到: JsonReader是使用google的JsonReader,在导入Gson library的时候,已经导入了: json文件上的字段,应与你建立的数据库表字段保持一致,否则会出错 public class Student { @PrimaryKey @NonNull @ColumnInfo(name = "stu_id") private

Win10系统下安装labelme,json文件批量转化

一.安装环境:windows10,anaconda3,python3.6         由于框架maskrcnn需要json数据集,在没安装labelme环境和跑深度学习之前,我安装的是anaconda3,其中pyhton是3.7版本的,经网上查阅资料,经过一番查找资料,发现,原来在2019年,TensorFlow还不支持python3.7,所以,迫于无奈,我只能乖乖把python的版本退回到3.6版本,具体步骤也很简单.就是打开anaconda prompt ,然后输入conda insta

Swift3.0添加桥接文件

注意是在project下不是target!!!纠结了好久表示......

iOS开发JSON文件解析数据成Model的过程简单介绍

本文内容来源:http://blog.csdn.net/smking/article/details/40432287 JSONModel, Mantle 这两个开源库都是用来进行封装JSON->Model的, 想想看, 直接向服务器发起一个请求,然后回来后,就是一个Model, 直接使用, 这是一个多么美好的事情. 先说说这两个的差别. 这两个使用的方法其实都差不多, 详细的使用方法请直接GitHub上找, 还是比较简单地. 就我个人来说JSONModel相对起来使用较为简单,而Mantle使

JSON字符串如何转化成对象?

解析 1.定义:是指将符合 JSON 语法规则的字符串转换成对象的过程. 2.不同的编程语言都提供了解析 JSON 字符串的方法,在这里主要讲解 JavaScript 中的解析方法.主要有三种: 1)- 使用 eval() 2)- 使用 JSON.parse() 3)- 使用第三方库,例如 JQuery 等 eval() 1.eval() 函数的参数是一个字符串,其作用是直接执行其中的 JavaScript 代码. 2.eval() 能够解析 JSON 字符串.从这里也可以看得出,JSON 和

Echarts-echart和springMVC实现堆栈图(读取JSON文件数据)

这篇echarts的堆栈图主要是根据这篇D3.js堆栈图(http://blog.csdn.net/u013147600/article/details/46770415 )实现的. 效果图: 1.JSON文件数据: { "name":"某市2005-1010年利润情况", "product": [ { "name": "PC" , "sales": [ { "year&quo

package.json文件内容介绍

概述 每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据).npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境. 下面是一个最简单的package.json文件,只定义两项元数据:项目名称和项目版本. { "name" : "xxx", "version" : "0.0.0", } p

package.json文件各个选项含义

本文转自阮一峰老师教程,链接:http://javascript.ruanyifeng.com/nodejs/packagejson.html# 目录 概述 scripts字段 dependencies字段,devDependencies字段 peerDependencies bin字段 main字段 config 字段 其他 browser字段 engines 字段 man字段 preferGlobal字段 style字段 重要说明:本教程已经搬迁,此处不再维护,请访问新网址:wangdoc.

DNC读取配置Json文件到类中并在程序使用

ConfigurationBuilder 这个类提供了配置绑定,在dnc中 Program中WebHost提供了默认的绑定(appsettings文件) 如果我们需要加载我们自己的json配置文件怎么处理 var builder = new ConfigurationBuilder(); 这里builder 提供了很多添加的方式 1.第一种:直接添加json文件路径,这里需要注意的json文件地址问题 builder.AddJsonFile("path").Build(); 2.第二种