我的JSON中有一个名为“name”的字段。这可能有三种状态:
我希望这能作为Option [NonEmptyString]
从序列化器中出来我实现了Reads [NonEmptyString],它读取一个String(最小长度为1)然后将它放入容器类(NonEmptyString)
如果我使用readNullable,那么当我尝试将其转换为NonEmptyString时,空字符串将抛出异常。
如果我实现了Reads [Option [NonEmptyString]],这不起作用,大概是因为Play将Option视为特殊情况
如何实现符合我要求的读取?
答案 0 :(得分:1)
(JsPath \ "key").reads[Option[NonEmptyString]]
这是有效的,因为与readsNullable不同,它不需要正确地反序列化值