java - 在配置文件中创建 map

标签 java scala configuration config configuration-files

我们有一个使用配置文件的应用程序,它们具有数组和普通变量的字段:

metadata {
   array=["val1", "val2"]
   singleValue=2.0
}

现在,我知道如何提取上述值,例如

config.getStringList("metadata.array").asScala.toArray

config.getString("metadata.singleValue)

但是,有什么方法可以在这里定义映射,以便我可以从该映射中找到所需键的值。 这个config是一个对象 公共(public)接口(interface)Config扩展了com.typesafe.config.ConfigMergeable

最佳答案

您可以使用config.getConfig("metadata")获取(子)配置对象。

将(子)配置转换为 map 是您必须自己完成的事情。我会使用config.entrySet()获取条目作为键值,并以这种方式将其加载到映射中。

我还没有尝试编译/测试这段代码,但是这样的东西应该可以工作:

Map<String,Object> metadata = new HashMap<>();
for (Map.Entry<String,ConfigValue> entry : config.entrySet()) {
    metadata.put(entry.getKey(), entry.getValue().unwrapped());
}

关于java - 在配置文件中创建 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52450210/

相关文章:

java - 使用 openImaj API 库进行人脸对齐

scala - Playframework 示例未构建

Scala future 应用程序在完成之前终止

python - 如何在 Ubuntu 中使用 PyCharm 运行和调试 Odoo?

configuration - ASP.NET Web API : Project requires SQL Server Express

java - 使用 Shiro 进行身份验证失败

java - 使用 Dagger 2 进行方法注入(inject)

java - Collections.shuffle 连续多次

scala - Play Scala 应用程序测试中的依赖注入(inject)

java - Log4j2 DefaultRolloverStrategy 的 max 属性如何真正起作用?