json - 从位于内存中的 JSON 加载启动配置

我正在研究如何在 .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();

https://stackoverflow.com/questions/44807836/

相关文章:

node.js - 构建工具 : Coffeescript/Node project with mu

delphi - 在 Delphi XE 中构建事件宏

c++ - qt 构建系统中的 jom 是什么?如何从命令行调用 jom 来构建 qt 项目?

visual-studio-2008 - 仅构建启动项目的键盘快捷键?

build - 如何存储 CMake build设置

c++ - 列出使用的库的链接器选项

build - 如何在 MultiJob 插件中传递内部版本号?

python - 使用 PyInstaller 2.1 和 MEIPASS 错误捆绑数据文件 --o

tfs - 调用执行程序时发生异常 'executor://xunit/VsTestRunner2/

c# - TFS 构建失败。对源代码管理中的文件的未解决引用