我有一个这样的 HOCON 配置:
[
{
name = 1
url = "http://example.com"
},
{
name = 2
url = "http://example2.com"
},
{
name = 3
url = {
A = "http://example3.com"
B = "http://example4.com"
}
}
]
我想用pureconfig解析它。我如何表示 URL 可以是字符串或多个 url 的映射,每个 url 都有一个键?
我试过这个:
import pureconfig.ConfigSource
import pureconfig.generic.auto.exportReader
case class Site(name: Int, url: Either[String, Map[String, String]])
case class Config(sites: List[Site])
ConfigSource.default.loadOrThrow[Config]
但它导致“预期类型 OBJECT。找到 STRING。”
我知道 pureconfig 支持Option
. 我发现没有提到支持Either
,是不是意味着它可以用其他东西代替?