DecodeJson со всеми неудачными попытками декодирования?
Учитывая следующее из argonaut
документы:
import argonaut._
import Argonaut._
case class Person(name: String, age: Int)
implicit def PersonDecodeJson: DecodeJson[Person] =
jdecode2L(Person.apply)("name", "age")
scala> Json.obj("name" -> jString("bob"),
"age" -> jString("whoops - not a number.")
).as[Person]
res1: argonaut.DecodeResult[Person] = DecodeResult(Left((Int,CursorHistory(List(El(CursorOpDownField(age),true))))))
scala> Json.obj("name" -> jNumber(42),
"age" -> jString("whoops - not a number.")
).as[Person]
res2: argonaut.DecodeResult[Person] = DecodeResult(Left((String,CursorHistory(List(El(CursorOpDownField(name),true))))))
В res2
, похоже, что age
неправильный тип, то есть ожидаемое число, но полученная строка, не отображается в выводе курсора. Другими словами, мне кажется, что декодирование не удалось быстро на name
,
Есть ли "из коробки" DecodeJson
что вернет все неудачные попытки декодирования?