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 что вернет все неудачные попытки декодирования?

0 ответов

Другие вопросы по тегам