2014-09-24 18 views
0

我在我的JSON中有一个名为“name”的字段。有三种状态,这可能是:我如何做一个读取[T]为一个可选的值

  • 空/未定义
  • 一个空字符串
  • 一个非空字符串

谨以此来串行器作为选件的出[NonEmptyString]

我已经实现了Reads [NonEmptyString],它读取一个String(最小长度为1),然后将它放入容器类(NonEmptyString)

如果我使用readNullable,那么当我尝试将它转换为NonEmptyString时,空字符串将引发异常。

如果我实现读取[选项[NonEmptyString]这是不行的,大概是因为玩对待期权作为一种特殊情况

如何实现读取我想要做什么?

回答

1

(JsPath \ "key").reads[Option[NonEmptyString]]

这工作,因为不像readsNullable,它不需要值被正确反序列化,如果它存在

相关问题