我正在研究如何在 .NET Core 中加载启动配置。我注意到有不同的方法可以做到这一点,我已经看到了 XML、JSON、init 文件,以及来自位于内存中的 Dictionary(我稍后会回到这个)。我正在使用类似下面的代码:
new ConfigurationBuilder().AddJsonFile("file.json").Build();
所有这些都可以,但是,是否有任何方法可以从 JSON 字符串加载该配置?我的意思是,我不想将 json 存储在临时文件中,因为它是一个实时构建的文件,而且没有任何意义。
关于位于内存中的字典。手动构建它很容易,但是,对于复杂且过于分层的 JSON 结构呢?据我所知,字典是
dictionary < string, string >
其键是由“:”连接的树的父级,同时管理重复节点、枚举它们等。从头开始构建这个算法很痛苦。
最佳答案
使用 NuGet 包 Microsoft.Extensions.Configuration.Json
>= 3.0.0
var json = "{ \"option1\": 1, \"option2\": \"abc\", }";
var configuration = new ConfigurationBuilder().AddJsonStream(new MemoryStream(Encoding.ASCII.GetBytes(json))).Build();
关于json - 从位于内存中的 JSON 加载启动配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44807836/