首页 > 其他分享 >GSON 特殊类型支持序列化和反序列化,如LocalDateTime

GSON 特殊类型支持序列化和反序列化,如LocalDateTime

时间:2022-11-02 19:34:14浏览次数:45  
标签:gson parse LocalDateTime new 序列化 GSON

 

 

GSON 特殊类型支持序列化和反序列化,如LocalDateTime

 

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    Gson gson = new GsonBuilder()
        .registerTypeAdapter(LocalDateTime.class, new JsonDeserializer<LocalDateTime>() {
          @Override
          public LocalDateTime deserialize(JsonElement json, Type type,
              JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
            String asString = json.getAsJsonPrimitive().getAsString();
            LocalDateTime parse = LocalDateTime.parse(asString, dateTimeFormatter);
            return parse;
          }
        }).registerTypeAdapter(LocalDateTime.class, new JsonSerializer<LocalDateTime>() {
          @Override
          public JsonElement serialize(LocalDateTime localDateTime, Type srcType,
              JsonSerializationContext context) {
            return new JsonPrimitive(dateTimeFormatter.format(localDateTime));
          }
        }).create();

    Result<DbTradeInfo> result = (Result<DbTradeInfo>) gson.fromJson(
        "{\"createTime\":\"2022-04-19 00:00:32\"}"
        ,
        new TypeToken<Result<DbTradeInfo>>() {
        }.getType());

    System.out.println(result.getData().getCreateTime().getClass());

    System.out.println(gson.toJson(result));

  

标签:gson,parse,LocalDateTime,new,序列化,GSON
From: https://www.cnblogs.com/netact/p/16852098.html

相关文章

  • This class is not trusted to be serialized as ObjectMessage payload.ActiveMQ序列
    引子ObjectMessage引入的生产者和消费者之间的类路径耦合,ActiveMQ支持他们作为JMS规范的一部分。ObjectMessage对象依赖marshal/unmarshal进行java序列化,这个过程是......
  • (转)hive中序列化和反序列化简介
    原文:https://blog.csdn.net/xixihaha_coder/article/details/121229591hive中序列化和反序列化简介serde简介hive的常用serdeLazySimpleSerDeCSVjsonserde......
  • 学习笔记-JAVA反序列化
    JAVA反序列化免责声明本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.简介序列化是让Java对象脱离Java运......
  • Java实现 Serializable 序列化
    深度理解Java实现Serializable序列化概念把对象转换为直接序列的过程叫对象的序列化把字节序列恢复为对象的过程叫对象的反序列化用途对象持久化跨网络数据交换,远程过程调......
  • PHP反序列化做题方法
    1.简化:把PHP代码复制到编辑器里面,寻找PHP反序列化的魔术方法,然后把不需要的部分删去2.找链子:通过以知的魔术方法,寻找到可以利用的点,然后想办法通过对象与方法的调用执行......
  • 学习笔记-PHP反序列化
    PHP反序列化相关文章&Source&ReferenceWeb安全|PHP反序列化入门这一篇就够了php反序列化练习题php反序列化知识点总结相关工具php在线反序列化工具PHP......
  • java反序列化cc_link_one2
    CC-LINK-one_second前言这条链子其实是上一条链子的另一种走法,在调用危险函数哪里是没有什么变化的整体链子还是尾部没有变化嘛还是InvokerTransformer的transform方法......
  • 序列化与反序列化
    专业解释:序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。通俗解释:从内存中读取硬盘中的数据过程,叫做序列化......
  • php反序列化绕过__wakeup(O改为C)
    先说下适用条件:PHP版本:7.0.15-7.0.33,7.1.1-7.1.33,7.2.0-7.2.34,7.3.0-7.3.28,7.4.0-7.4.16,8.0.0-8.0.3。变量的初始化不在__construct里,而是在外面......
  • PHP反序列化字符逃逸学习
    文章目录​​过滤后字符变多​​​​过滤后字符变少​​过滤后字符变多首先给出本地的php代码,很简单不做过多的解释,就是把反序列化后的一个x替换成为两个<?phpfunctionchan......