Bạn cần cung cấp codec tùy chỉnh cho $date
đồng ruộng. Phần sau cho thấy cách nó được thực hiện trong play-json
nhưng khái niệm tương tự trong các thư viện JSON khác:
object WorkOrder {
implicit val dateRead: Reads[Date] =
(__ \ "$date").read[Long].map(date => new Date(date))
implicit val dateWrite: Writes[Date] = new Writes[Date] {
def writes(date: Date): JsValue = Json.obj("$date" -> date.getTime)
}
implicit val codec = Json.format[WorkOrder]
}