2014-09-24 17 views
0

我在我的JSON中有一個名爲「name」的字段。有三種狀態,這可能是:我如何做一個讀取[T]爲一個可選的值

  • 空/未定義
  • 一個空字符串
  • 一個非空字符串

謹以此來串行器作爲選件的出[NonEmptyString]

我已經實現了Reads [NonEmptyString],它讀取一個String(最小長度爲1),然後將它放入容器類(NonEmptyString)

如果我使用readNullable,那麼當我嘗試將它轉換爲NonEmptyString時,空字符串將引發異常。

如果我實現讀取[選項[NonEmptyString]這是不行的,大概是因爲玩對待期權作爲一種特殊情況

如何實現讀取我想要做什麼?

回答

1

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

這工作,因爲不像readsNullable,它不需要值被正確反序列化,如果它存在

相關問題