我正在使用 Argonaut 通过我的自定义编解码器解析 JSON。我的代码如下所示:
val json: String = ...
val parsed = Parse.decodeEither[MyClass](json)
val checks = if (parsed.isRight) parsed.right.get
else sys.error("Unable to parse MyClass json: " + parsed.left)
但是,我从未收到任何有用的错误消息。我得到的只是java.lang.RuntimeException: Unable to parse MyClass json: LeftProjection(Left(String: CursorHistory(List())))
。
处理解码错误的正确方法是什么?
编辑:我的问题不是如何处理提供的错误消息。如果 Argonaut 可以说“位置 X 解析错误,意外成员 y”或类似的话,那就太好了。那可能吗?