如何使用对象解析类型安全配置
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
我有一个配置 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