添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在有Timestamp属性的对象转json时  最后出来的时间会减小8小时,是因为变成了0时区,需要将隐式转换中添加设置本地时区

import org.json4s.{DefaultFormats, Formats}
import org.json4s.jackson.Serialization.write
object Json4sDemo {
    // 需要添加隐式转换
//    implicit val formats: AnyRef with Formats = Serialization.formats(NoTypeHints)
    // 转换时 设置时区
    implicit val formats: AnyRef with Formats = new  DefaultFormats {
        override  def  dateFormatter  =  {
            val f = new  SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S")
            f.setTimeZone(TimeZone.getTimeZone("GMT+8"))
    def main(args: Array[String]): Unit = {
        val timestamp = Timestamp.valueOf("2019-05-16 12:02:45.4")
        val user1 = User(1, name = "李明", 47, timestamp)
        val user2 = User(2, name = "张杰", 43, timestamp)
        val user3 = User(3, name = "王伟", 54, timestamp)
        val user4 = User(4, name = "刘安", 24, timestamp)
        val users = List[User](user1, user2, user3, user4)
        // 由scala 对象转换为 Json字符串
        val str = write(user1)
        println(str)
        val sts = write(users)
        println(sts)
    case class User(id: Int, name: String, age: Int, time: Timestamp)
                    2019独角兽企业重金招聘Python工程师标准>>>                                                    ...
class DateEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, datetime.datetime):
            return obj.strftime('%Y-%m-%d %H:%M:%S')
        elif isinstanc...
				
Json与Java Bean互相转换,Bean中的Timestamp字段是无法直接处理的,需要实现两个转换器。 DateJsonValueProcessor的作用是Bean转换Json将Timepstamp转换为指定的间格式。 import java.text.DateFormat; import java.text.SimpleDateFormat; impo...
假设您使用的是Java语言中的MongoDB驱动程序(如Mongo Java Driver),您可以使用ObjectId类将日期转换为MongoDB的ObjectId。 以下是将给定日期转换为ObjectId的Java代码示例: import org.bson.types.ObjectId; // 假设给定的JSON是字符串类型 String jsonString = "{\"date\":1673947550000,\"timestamp\":1673947550}"; // 将JSON字符串解析为一个JSON对象 JSONObject jsonObject = new JSONObject(jsonString); // 从JSON对象中获取日期 long date = jsonObject.getLong("date"); // 将日期转换为ObjectId ObjectId objectId = new ObjectId(date); // 打印ObjectId System.out.println(objectId.toHexString()); 请注意,这里假设您已经包含了所需的库(例如:org.json.JSONObject,org.bson.types.ObjectId等),并且已经建立了MongoDB的连接。