1. ホーム
  2. c#

[解決済み】ASP.NET Core IConfigurationを使ったJson配列の取得

2022-04-01 16:08:32

質問

appsettings.jsonに

{
      "MyArray": [
          "str1",
          "str2",
          "str3"
      ]
}


Startup.csにて

public void ConfigureServices(IServiceCollection services)
{
     services.AddSingleton<IConfiguration>(Configuration);
}


HomeControllerの場合

public class HomeController : Controller
{
    private readonly IConfiguration _config;
    public HomeController(IConfiguration config)
    {
        this._config = config;
    }

    public IActionResult Index()
    {
        return Json(_config.GetSection("MyArray"));
    }
}


上記の私のコードがありますが、私はNULLを得ました 配列の取得方法は?

どのように解決するのですか?

もし、最初の項目の値を選びたいなら、次のようにします。

var item0 = _config.GetSection("MyArray:0");

配列全体の値を取得したい場合は、次のようにします。

IConfigurationSection myArraySection = _config.GetSection("MyArray");
var itemArray = myArraySection.AsEnumerable();

理想的には オプションパターン 公式ドキュメントで提案されています。これによって、より多くの利益を得ることができます。