Json4s约会到unixtimestamp

时间:2015-01-07 16:53:41

标签: json scala json4s

如何为Json4s创建包装器?默认的json4s格式化日期全部转换为SimpleDateFormat。我想将所有日期字段转换为unixtime格式。

2 个答案:

答案 0 :(得分:-1)

您应该能够实现自己的Formats。这是一个简化的示例,它基于SerializationExamples

编辑:更新示例

import java.util.Date
import org.json4s._
import org.json4s.jackson.Serialization

object Main extends App {

  implicit val formats = new DefaultFormats {
    override val dateFormat: DateFormat = new DateFormat {
      override def parse(s: String): Option[Date] = Some(new Date(s.toLong * 1000))
      override def format(d: Date): String = (d.getTime/1000).toString
    }
  }

  case class Lotto(id: Long, drawDate: Date)

  val lotto = Lotto(3L, new Date())

  val ser: String = Serialization.write(lotto)
  println(ser) // prints value 'drawDate' as unix time
  println(Serialization.read[Lotto](ser)) // prints deserialized Lotto instance
}

答案 1 :(得分:-1)

如果您的项目允许...而不是编写任何新代码,为什么不使用moment.js。它当然可以让你选择在那里使用unix输出。

unix function in moment.js