2
未定義/ null元素讀取給出下面的JSON數組:播放框架2.2.2斯卡拉JSON與導致NoSuchElementException異常
{
"success": true,
"data": [
{
"id": 600,
"stage_id": 15,
"title": "test deal",
"value": 0,
"currency": "EUR",
"rotten_time": "2014-03-18 17:45:51",
},
{
"id": 601,
"stage_id": 15,
"title": "test deal2 deal",
"value": 0,
"currency": "EUR",
"rotten_time": "2014-03-24 14:11:00"
},
{
"id": 602,
"stage_id": 15,
"title": "test deal2 deal",
"value": 0,
"currency": "EUR",
"rotten_time": null
}
],
"additional_data": {
"pagination": {
"start": 0,
"limit": 100,
"more_items_in_collection": false
}
}
}
使用讀取方法來實例化對象,如下面
case class Deal(id: Long, stage_id: Long, status: String, rotten_time: Date)
implicit val dealReader = Json.reads[Deal]
val futureJson: Future[List[Deal]] = futureResponse.map(
response => (response.json \ "data").validate[List[Deal]].get
)
我得到一個NoSuchElementsException當一個元素的值爲null時(類似於rotten_time)
我想要這樣的東西
> println(deals.toString)
> Deal(601,15,open,Mon Mar 18 17:45:51 CET 2014)
> Deal(602,15,open,Mon Mar 18 14:11:00 CET 2014)
> Deal(603,15,open,null)
即使字段值爲NULL,是否有確保對象實例化的方法?我沒有理由爲什麼每個現有的字段都必須分配一個值。
我發現相關的問題here和here但他們沒有幫我解決我的問題。