1
我試圖一個案例類匹配到的MongoDB(0.12),但是一個字段是日期,我想出這個運行時錯誤:從MongoDB的申報日期爲正確類型
[JsResultException: JsResultException(錯誤:清單((/日期,列表(JsonValidationError(名單(error.expected.date),WrappedArray())))))]
從我的MongoDB集合看起來文件喜歡這樣的:
{ "_id": ObjectID("59c33152ca2abb344c575152"), "date": ISODate("2017-09-26T00:00:00Z"), "population": 1200 }
而且我案例類是:
case class MyClass(_id: Option[BSONObjectID] = None, date: Date = new Date, population: Int = 0)
我曾嘗試各種組合。任何人都可以看到問題可能是什麼?在此之後,我打算將其轉換爲字符串並在屏幕上輸出它。由於
只是爲了說明,我也有這個伴侶對象:
object MyClass {
implicit val myClassFormat = Json.format[MyClass]
}
但是,感謝您的一些代碼似乎已棄用* scala 2.12 *。此外,我編輯了問題以顯示格式化* case類的* companion對象* - 不確定是否有任何特定的事情需要在這裏爲* date *完成。 –
在我看來,你必須在你的'Format [MyClass]'之前聲明一個隱式'Format [Date]',你已經試過了嗎? – Antoine
我在Play ** [https://www.playframework.com/documentation/2.6.x/ScalaJsonAutomated]中使用了**自動映射,所以我認爲這樣可以確保所有字段格式正確。我按照你的建議嘗試了這個,但它沒有引用類字段:'implicit val weatherDateFormat = Json.format [Date]' –