Во-первых, вам может быть интересно узнать, что в настоящее время мы активно работаем над собственным Couchbase Scala SDK, который будет выпущен в этом году, и он будет поддерживать ваш вариант использования для преобразования строк непосредственно в класс case.
Но здесь и сейчас вы не можете напрямую преобразовать JsonObject в класс case.Вам нужно будет использовать toString
для извлечения необработанной строки JSON, а затем использовать библиотеку Scala JSON для ее преобразования.У вас есть несколько вариантов здесь:
Джексон
val json = row.value().toString()
val mapper = new ObjectMapper()
mapper.registerModule(DefaultScalaModule)
val account = mapper.readValue(json, classOf[Account])
uPickle
val account = upickle.default.read[Account](json)
Jsoniter
val account = com.github.plokhotnyuk.jsoniter_scala.core.readFromString[Account](json)
Кроме того, есть Цирцея, Json4s, Play Json, Jawn и т. Д.