【问题标题】:Typesafe config: get as map类型安全配置:获取地图
【发布时间】:2019-10-28 02:10:35
【问题描述】:
googlesheets{
 dmkb_sheet = "1xEC8CPlKn654321wcoS_JB12345cPPiaA0M"
 other_sheet = "123isS0M30TH3R1D"
}

我想使用 myConfig.getAsMap("googlesheets") 之类的东西并将两个嵌套条目作为 Map。不存在这样的方法。那么将两个嵌套条目加载为 Map 的最简单方法是什么?

【问题讨论】:

    标签: scala typesafe


    【解决方案1】:

    对于简单的一些定义,您可以使用如下内容:

    val config = conf.atKey("googlesheets")
    config.root.keySet.asScala.map(key ⇒ key → config.getString(key)).toMap
    

    我认为使用库将配置映射到案例类会更容易,例如pureconfig

    【讨论】:

    • 比我的答案更好。谢谢'
    【解决方案2】:

    好的,这很容易。

    myConfig.getConfig("googlesheets").entrySet() 成功了

    (我对带有“get”前缀的方法很感兴趣,所以错过了)

    【讨论】:

      【解决方案3】:

      谢谢。我通过将您的答案重写如下:

      config.entrySet().asScala.map(e => e.getKey -> e.getValue.render()).toMap
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-27
        • 1970-01-01
        • 2018-05-24
        • 2013-09-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多