JSON を解析する必要があるとします (以下を参照)。
{ 成功: 真 ステータスコード: 0 ステータスメッセージ: 「わかりました」 ペイロード { ... } // 実際のデータ }
まず、「ステータス」フィールドを解析してインスタンスを取得していますcase class Status
(以下を参照)。
ケースクラス Status(success: Boolean, code: Int, message: String) val json = parse(text) // テキストは上記の JSON です val statusList = { JObject(obj) <- json JField("成功", JBool(成功)) <- obj JField("コード", JInt(コード)) <- obj JField("メッセージ", JString(メッセージ)) <- obj } yield Status(成功、コード、メッセージ)
それは理にかなっていますか?
の型はstatusList
ですList[Status]
。1つのStatus
アイテムが含まれています。解析が失敗した場合、statusList
は空です。好きじゃなくOption[Status]
て欲しいからList[Status]
withList[Status]
に簡単に変換できますが、直接取得したいと思います。Option[Status]
headOption
Option[Status]
json4s
最初に取得 Option[Status]
せずにJSON を解析して取得できList[Status]
ますか?