【发布时间】:2018-10-06 15:51:58
【问题描述】:
我正在使用这样的 circe 光学器件
import io.circe.parser._
import io.circe.optics._
import io.circe.optics.JsonPath._
val json = parse("""{"response": {"person": {"firstname": "foo", "lastname":"bar"}}}""").right.get
现在我想从这个 json 中提取字符串形式的整个 person 对象,比如
val p = root.response.person.string
然后将其解码为类似的案例类
case class Person(firstname: String, lastname: String)
decode[Person](p.getOption(json).get)
但它不起作用,因为root.response.person.string 返回 null。我认为它只适用于实际的字符串和整数列。
那么可以使用 circe optics 来提取 json 的整个部分(例如 json 中的 person 对象)吗?然后将该部分解码为一个案例类?
【问题讨论】: