【发布时间】:2019-10-28 02:10:35
【问题描述】:
googlesheets{
dmkb_sheet = "1xEC8CPlKn654321wcoS_JB12345cPPiaA0M"
other_sheet = "123isS0M30TH3R1D"
}
我想使用 myConfig.getAsMap("googlesheets") 之类的东西并将两个嵌套条目作为 Map。不存在这样的方法。那么将两个嵌套条目加载为 Map 的最简单方法是什么?
【问题讨论】:
googlesheets{
dmkb_sheet = "1xEC8CPlKn654321wcoS_JB12345cPPiaA0M"
other_sheet = "123isS0M30TH3R1D"
}
我想使用 myConfig.getAsMap("googlesheets") 之类的东西并将两个嵌套条目作为 Map。不存在这样的方法。那么将两个嵌套条目加载为 Map 的最简单方法是什么?
【问题讨论】:
对于简单的一些定义,您可以使用如下内容:
val config = conf.atKey("googlesheets")
config.root.keySet.asScala.map(key ⇒ key → config.getString(key)).toMap
我认为使用库将配置映射到案例类会更容易,例如pureconfig
【讨论】:
好的,这很容易。
myConfig.getConfig("googlesheets").entrySet() 成功了
(我对带有“get”前缀的方法很感兴趣,所以错过了)
【讨论】:
谢谢。我通过将您的答案重写如下:
config.entrySet().asScala.map(e => e.getKey -> e.getValue.render()).toMap
【讨论】: