blob: a53f1dd450d5b8b29ccb3d4c32422ba100d295ab (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package xyz.driver.pdsuicommon.json
import java.text.SimpleDateFormat
import com.fasterxml.jackson.annotation.JsonInclude
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper
object JsonSerializer {
private val mapper = new ObjectMapper() with ScalaObjectMapper
mapper.registerModule(DefaultScalaModule)
mapper.registerModule(new JavaTimeModule)
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"))
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL)
def serialize(value: Any): String = {
mapper.writeValueAsString(value)
}
def deserialize[T](value: String)(implicit m: Manifest[T]): T = {
mapper.readValue(value)
}
}
|