反序列化触发点扩展
ObjectInputStream.readObject// 流转化为Object
ObjectInputStream.readUnshared // 流转化为Object
XMLDecoder.readObject // 读取xml转化为Object
Yaml.load// yaml字符串转Object
XStream.fromXML// XStream用于Java Object与xml相互转化
ObjectMapper.readValue// jackson中的api
JSON.parseObject// fastjson中的api
解释
● ObjectInputStream.readObject:Java的IO序列化,简单,不需要外部依赖。
● ObjectInputStream.readUnshared:跟ObjectInputStream.readObject相似,但是readUnshared读取的对象,不能再被readObject和readUnshared引用或调用,readObject生成的对象可以。Java的IO序列化,简单,不需要外部依赖。
● XMLDecoder.readObject:jdk中一个用于处理xml数据的类,XMLDecoder.readObject是去反序列化xml数据的。
● Yaml.load:SnakeYaml是用来解析yaml的格式,可以将yaml格式进行反序列化成Java对象。https://www.cnblogs.com/nice0e3/p/14514882.html
● XStream.fromXML:Java对象和xml文档相互转换。fromXML方法反序列化XML获得对象。
● Jackson#ObjectMapper.readValue:JSON与Java对象相互转换。
● FastJson#JSON.parseObject:JSON与Java对象相互转换。