• java序列化与反序列化


    先描述下这里的业务:
    我们有一个父类A,多个继承A的AA类、AB类、AC类,多了一些不同的业务字段。
    业务分为多个端,如:甲端、乙端,通过kafka来交互数据,数据格式为一个VO,包含多个业务属性以外,还有一个List<A>属性引用类,这里实质内容还是AA、AB、AC类。
    甲端封装好对应的参数后,传递给乙端进行解析时。json无法直接转成对应的AA、AB、AC实现类。其中的业务字段会丢失。
    这就是疑问的地方??? 这里我们比较了一下fastJson和gson,最后采取gson来解决此问题。


    fastJson 是通过注解形式。如:
    @JSONField(serializeUsing=ToSystemNameSerializer.class)
    这里ToSystemNameSerializer.class是我们自定义的转换类,需要实现ObjectSerializer和ObjectDeserializer分别是fastjson的编码器和解码器接口


    Gson 是同通过注册TypeAdapter。如:
    Gson.addTypeAdapter(Type,ToSystemNameSerializer)
    然后使用gson来解析json,如果识别到Type类了,则使用我们定义的ToSystemNameSerializer来解析
    JsonSerializer和JsonDeserializer分别是gson的编码器和解码器接口

  • 相关阅读:
    MR架构
    概念词汇
    数仓项目06:DWD层
    Informatic学习总结_day03
    oracle_创建和管理表
    oracle_使用子查询创建表
    oracle数据类型
    文本变语音引擎 ekho
    [LNOI2014]LCA
    POJ 2942 Knights of the Round Table
  • 原文地址:https://www.cnblogs.com/kongkongFabian/p/12576489.html
Copyright © 2020-2023  润新知