如何使用对象解析类型安全配置

How to parse typesafe config with objects

我有一个配置 application.conf:

usersHasPermissions = [
  {"login": "admin", "perms": ["p1", "p2"]},
  {"login": "petooh", "perms": ["p2"]},
  {"login": "*", "perms": ["p3"]}
]

我如何将它解析为 Map[String,Set[String],其中 "login" - 键,"perms" - 设置?

我可以将其呈现为 json 并进行解析。但我不想在项目中包含 json 库。我认为 ConfigObject

有解决方案

好的,很简单:

config.getObjectList("usersHasPermissions").asScala.map(o =>
      o.toConfig.getString("login") ->
        o.toConfig.getStringList("perms").asScala.toSet).toMap