У меня есть класс case в scala, который должен анализировать объект json.Однако объект json может выглядеть двумя разными способами.Примерно так:
"hint": {
"structure": [
"HIDE"
]
}
Или вот так:
"hint": {
"type": "1",
"template": "A"
}
Я хочу объединить их в один и тот же класс дел в Scala, используя circe.Я попытался сделать что-то вроде этого:
case class Hint(`type`:Option[String] = None,template:Option[String], structure: Option[List[String]])
object Hint {
implicit val hintJsonDecoder: Decoder[Hint] = deriveDecoder[Hint]
implicit val hintJsonEncoder: ObjectEncoder[Hint] = deriveEncoder[rHint]
}
Но, похоже, должен быть более аккуратный способ сделать это, чтобы я мог просто вернуть, скажем, список строк в случае первого экземпляра,и просто тип и шаблон во втором экземпляре.Но я не могу понять, как это сделать, используя Цирцею.
Благодарен за вашу помощь!