I've got a case calss
import java.sql.Date
case class GetMilestoneLanguage(
...
due_date: Option[Date],
...
)
object GetMilestoneLanguage {
implicit val writes = Json.writes[GetMilestoneLanguage]
}
Its outputting the JSON in UTC - and I need it to be iso 8601. I'm NOT use Joda time.
What the easiest way to achieve getting the date in iso 8601?
Thanks
import play.api.libs.json.{Json, Writes}
import play.api.libs.json.Writes.dateWrites // do not import everything here, especially DefaultDateWrites
case class GetMilestoneLanguage(param1: String, dueDate: Option[java.sql.Date])
object GetMilestoneLanguage {
implicit val customDateWrites: Writes[java.util.Date] = dateWrites("yyyy-MM-dd'T'HH:mm:ss'Z'")
implicit val writes = Json.writes[GetMilestoneLanguage]
}
The key here is to define your own implicit Writes[java.util.Date]. If you import DefaultDateWrites your customDateWrites will be silently ignored (I wonder why there is no ambiguous implicit warning).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With