Skip to content

encode #45

@swuecho

Description

@swuecho

You can create a custom encoder for handling java.util.Date instances in Circe by utilizing the Encoder type class from the Circe library. Here's an example:

import io.circe._
import java.text.SimpleDateFormat
import java.util.Date

object DateEncoders {
  implicit val encodeDate: Encoder[Date] = new Encoder[Date] {
    val sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")

    override def apply(a: Date): Json = Json.fromString(sdf.format(a))
  }
}

In this example, we create a custom encoder for java.util.Date instances by implicitly defining an Encoder[Date]. Inside the Encoder instance, we define a SimpleDateFormat to format the date and then use it to convert the Date instance to a String representation, which is then wrapped in a Json object using Json.fromString.

To use this custom encoder, you can import it alongside the rest of your Circe code and Circe will use it automatically when encountering Date instances during encoding.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions