Netcore-弱いタイプと強いタイプでjsonプロファイルを読み込む
弱いタイプの読み取り:
1.コロンmysql:host
2.GetSection("mysql")["host"]
強いタイプの読み取り:
1.GetValue
2.ソリッドクラスBind,Getにマッピングする構成
1.コロンmysql:host
2.GetSection("mysql")["host"]
強いタイプの読み取り:
1.GetValue
2.ソリッドクラスBind,Getにマッピングする構成
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
IConfiguration configuration = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("appsettings.json").Build();
//
//var info = configuration["shopidlist:2"];
//var info = configuration.GetSection("shopidlist").GetSection("2").Value;
//Console.WriteLine(info);
//
var info = configuration.GetValue("mysql:port",0);
Console.WriteLine(info);
//Rootobject rootobject = new Rootobject();
//configuration.Bind(rootobject);
var rootobject = configuration.Get();
Console.ReadLine();
}
}
public class Rootobject
{
public Mysql mysql { get; set; }
public int[] shopidlist { get; set; }
}
public class Mysql
{
public string host { get; set; }
public string port { get; set; }
}
}
{
"mysql": {
"host": "192.168.23.1",
"port": "3306"
},
"shopidlist": [10,20,30,40]
}