首页 > 其他分享 >fastjson和 gson 的反序列化的一个差异

fastjson和 gson 的反序列化的一个差异

时间:2024-05-14 16:09:24浏览次数:21  
标签:fastjson BaseThirdData gson thirdData 序列化 ThirdData

 

public class Response01 {
    private ThirdData thirdData;
     
    public ThirdData getThirdData(){
            return thirdData;
     
   }
    
    // ThirdData extend BaseThirdData
    public void setThirdData(BaseThirdData thirdData){
        this.thirdData=thirdData;
        
   }
}

  

 

fastjson:

     Gson GSON= new Gson();

    GSON.fromJson(jsonString,clazz);

    尽管setThirdData(BaseThirdData )但是可以反序列化到ThirdData

 

gson:

 JSONObject.parseObject(jsonString,clazz);

 只能反序列化到BaseThirdData,即尽管jsonString 里面有ThirdData的字段,但是只能反序列化BaseThirdData

标签:fastjson,BaseThirdData,gson,thirdData,序列化,ThirdData
From: https://www.cnblogs.com/zt1991jskj/p/18135308

相关文章

  • fastjson的使用
    Json是一种轻量级的数据交换格式,应该在一个程序员的开发生涯中是常接触的。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。Fastjson是一个Java库,可用于将Java对象转换为其JSON表示形式,也可以......
  • python 反序列化漏洞
    python反序列化前言:python反序列化相比java反序列化,更接近于php反序列化1.0python中的序列化函数**1.**pickle.dump(obj,file)将对象序列化后保存在文件中2.pickle.load(file)将文件中序列化内容反序列化为对象**3.**pickle.dumps(obj)将对象序列化后返回,返回的是......
  • PHP反序列化(Pikachu)
    原理php程序为了保存和转储对象,提供了序列化的方法。php序列化是为了在程序运行的过程中对对象进行转储而产生的。序列化可以将对象转换成字符串,但仅保留对象里的成员变量,不保留函数方法。php序列化的函数为serialize,可以将对象中的成员变量转换成字符串。反序列化的函数为unse......
  • Fastjson反序列化漏洞3:JdbcRowSetImpl利用链-JNDI注入
    第二条链Fastjson的三条链,现在我们来讲第二条com.sun.rowset.JdbcRowSetImplcom.sun.rowset.JdbcRowSetImplorg.apache.tomcat.dbcp.dbcp2.BasicDataSourceFastjson的三条链,现在我们来看第二条com.sun.rowset.JdbcRowSetImplsetAutoCommit、connect、setDataSourceNameset......
  • Fastjson反序列化漏洞2:BasicDataSource利用链-用于内网
    之前说的Fastjson的利用链,补充来了,没有偷懒(狗头)前情提要:BCEL:加载恶意类、Fastjson反序列化漏洞1:吹吹水Fastjson干了啥Fastjson就是处理json用的,可以将json转换成对象(自定义的一套序列化和反序列化)举个例子:下面这个json字符串经过JSON.parse(jsonString)处理可以得到com.test......
  • C++_函数式编程-以及常用序列化
    函数式编程函数式编程是一种编程范式,它强调程序的构建是通过应用(applying)和组合函数(composingfunctions)来实现的函数式编程属于“结构化编程”的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用 LambdaCalculus函数式编程语言早期的函数式......
  • 序列化的另一个思路
    #混入类,提供Model实例to_dict方法classModelMixin(object):__slots__=()defto_dict(self,excludes:tuple=None,selects:tuple=None)->dict:ifnothasattr(self,'_meta'):raiseTypeError('<......
  • [idea]mvn install没有问题,idea build报错程序包com.alibaba.fastjson不存在
    现象:1、mvninstall没有问题2、ideabuild报错程序包com.alibaba.fastjson不存在3、File->Settings->Build,Execution,Deployment->Compiler自动编译选项也是勾选的解决:1、委托maven构建和运行,确实能执行;但是运行都要执行maveninstall,速度慢 -- 不推荐 2、在......
  • 更优雅的使用Gson解析Json
     Gson背靠Google这棵大树,拥有广泛的社区支持和相对丰富的文档资源,同时因其简单直观的API,一直以来基本稳坐Android开发序列化的头把交椅(直到Google宣布kotlin成为Android开发的首选语言)。本文对Gson的使用及主要流程做下分析。Gson的基本使用Gson依赖 kotlin复制代码d......
  • Fastjson反序列化漏洞
    Fastjson简介Fastjson是一个Java库,可以实现json和对象之间的转换。将数据与对象进行转化,这个操作涉及到了反序列化。与原生的Java反序列化不同,FastJson反序列化并未使用readObject方法,而是自定义了反序列化的过程。通过在反序列化的过程中自动调用类属性的setter方法......