C# 如何从appsettings.json读取嵌套循环json值并分配给对象
你应该看看地图 选项模式使用类提供对相关设置组的强类型访问。当配置设置按场景分为不同的类别时,应用程序遵循两个重要的软件工程原则: 接口隔离原则(ISP)或封装:场景 依赖于配置设置的(类)仅依赖于 他们使用的配置设置。关注点分离:设置 因为应用程序的不同部分不依赖于或耦合到一个 另一个C# 如何从appsettings.json读取嵌套循环json值并分配给对象,c#,.net,.net-core,C#,.net,.net Core,你应该看看地图 选项模式使用类提供对相关设置组的强类型访问。当配置设置按场景分为不同的类别时,应用程序遵循两个重要的软件工程原则: 接口隔离原则(ISP)或封装:场景 依赖于配置设置的(类)仅依赖于 他们使用的配置设置。关注点分离:设置 因为应用程序的不同部分不依赖于或耦合到一个 另一个 只想分享我如何在我的应用程序上执行此操作(假设appsettings.json是您的默认配置文件): 用法: public class ConfigHelper : IConfigHelper { pr
只想分享我如何在我的应用程序上执行此操作(假设appsettings.json是您的默认配置文件): 用法:
public class ConfigHelper : IConfigHelper
{
private IConfiguration Configuration { get; }
public ConfigHelper(IConfiguration configuration)
{
Configuration = configuration;
}
public string GetAppSettings(string key)
{
return Configuration[key];
}
}
或者这种方法:
创建一个类来表示您的配置:
...
ConfigHelper.GetAppSettings("SalesOrderFilters:Skip");
...
我想这个问题可能需要修改以避免结束,添加一些你正在尝试做的事情和到目前为止不起作用的内容。谢谢你的回答。但是如何从json中读取“columnFilters”值呢?您可以在这里尝试这种方法,或者另一种可能的方法(我主要是这样做的)是编辑我的答案:)
...
ConfigHelper.GetAppSettings("SalesOrderFilters:Skip");
...
public class SalesOrderFilters
{
public int Skip { get; set; }
public int Take { get; set; }
public List<Filters> Filters { get; set; }
...
}
public class Filter
{
public List<ColumnFilter> ColumnFilters { get; set; }
...
}
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSingleton(typeof(SalesOrderFilters), Configuration.GetSection("SalesOrderFilters").Get<SalesOrderFilters>());
...
}
public class MyController
{
private SalesOrderFilters _settings;
public MyController(SalesOrderFilters settings)
{
_settings = settings;
}
}