c# - Get collection from settings.json
问题描述
I create some config file in json format:
{
"SomeCollection" : [
{
"Val1" : "Some string",
"Val2" : "Some string2"
}
]
}
I create object with this config:
IConfiguration config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", true, true)
.Build();
But how can I get list of pairs Val1 and Val2?
解决方案
这是我的课:
using System.Collections.Generic;
namespace WebsiteAPI.Models
{
public class CollectionInAppSettings
{
public IDictionary<string,string> SomeCollection { get; set; }
}
}
这是我的应用设置:
"CollectionInAppSettings": {
"SomeCollection": {
"Val1": "Some string",
"Val2": "Some string2"
}
}
这是我在配置服务部分的 startup.cs 中的内容:
services.Configure<CollectionInAppSettings>(Configuration.GetSection("CollectionInAppSettings"));
这是虚拟 HelloController 中的内容:
private readonly IOptions<CollectionInAppSettings> _options;
public HelloController(IOptions<CollectionInAppSettings> options)
{
_options = options;
}
[HttpGet("[action]")]
public IActionResult IsUp()
{
return Ok(_options.Value);
}
调用端点时:
https://localhost:4010/api/hello/isup
这是返回的:
"someCollection":{"Val1":"Some string","Val2":"Some string2"}
这是此问题的其他一些解决方案的链接:单击此处
推荐阅读
- ruby-on-rails - 在 Ruby on Rails 中使用 Chromedriver 时出错
- node.js - 套接字 IO 错误“对 XMLHttpRequest 的访问已被 CORS 策略阻止”
- android - 使用此 map.setMyLocationEnabled(true); 时总是出错 它不工作
- ionic3 - 添加背景地理定位插件后,Ionic 3 空白应用程序无法构建到 Android
- git - Git LFS 不一致?
- java - 如何在 Maven 中从命令提示符传递 aws 环境变量
- android - Android-Firebase 身份验证令牌重置
- mysql - 无法使用 NodeJS 对 MySQL 事务使用 async/await
- java - 如何为 Hazelcast 中的所有自定义类型配置自定义序列化程序
- c# - 无法将在端口上运行的 SignalR 客户端连接到 .NET Core 2.2 服务器