繁体   English   中英

如何将我的 appsettings.json 部分转换为 object?

[英]How can I convert my appsettings.json section to an object?

我有一个appsettings.json ,看起来像这样:

{
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft": "Warning",
            "Microsoft.Hosting.Lifetime": "Information"
        }
    },
    "AllowedHosts": "*",
    "SearchExclusions": {
        "Classifications": {
            "title": "My First Title",
            "entries": [ "ALPHA", "BETA" ]
        },
        "SubjectContains": {
            "title": "My Second Title",
            "entries": [ "GAMMA", "DELTA", "EPSILON", "ZETA", "ETA", "THETA", "IOTA", "KAPPA" ]
        }
    }
}

我的.RAZOR组件如下所示:

@inject IConfiguration Configuration
<h1> My Component </h1>
@code {
    protected override void OnInitialized()
    {
        // This does not work.
        var searchExclusionsObject = Configuration.GetSection("SearchExclusions").Get<SearchExclusions>();

        // This also does not work.
        var searchExclusionsObject = Configuration.Get<SearchExclusions>();
    }

    private class SearchExclusions
    {
        private Classifications classifications { get; set; }
        private SubjectContains subjectContains { get; set; }
    }

    private class Classifications
    {
        private String title { get; set; }
        private String[] entries { get; set; }
    }

    private class SubjectContains
    {
        private String title { get; set; }
        private String[] entries { get; set; }
    }
}

SearchExclusions 和其他子类上的所有属性都是私有的,它们需要是公共的。

当然,只是需要将属性的可访问性从 Private 更改为 Public

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM