[发明专利]一种反序列化方法及装置有效
申请号: | 201510408889.1 | 申请日: | 2015-07-13 |
公开(公告)号: | CN107038022B | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 马立杰 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F8/40 | 分类号: | G06F8/40 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 序列 方法 装置 | ||
本申请提供了一种反序列化方法及装置,所述方法包括:获取序列化数据,所述序列化数据包括待重建对象的第一属性;对所述序列化数据进行解析以生成第一键值对,所述第一键值对包括第一键信息和第一值信息,所述第一键信息与所述第一值信息具有对应关系;根据预先设置的所述第一键信息和所述第一属性的对应关系,将所述第一属性赋值为所述第一键信息对应的所述第一值信息。可见,由于本申请实施例中无需通过反射的方式获得待重建对象具有的属性,因此不需要占用过多的硬件资源,从而提高了反序列化的效率。
技术领域
本申请涉及计算机技术领域,尤其是涉及一种反序列化方法及装置。
背景技术
序列化和反序列化是计算机领域常用的技术。序列化用于将对象的属性值转换为序列化数据,从而能够对序列化数据进行保存或者传输等操作。反序列化为序列化的逆过程,用于对序列化数据解析获得对象的属性值,根据属性值对待重建对象的属性进行赋值。
举例说明,User是一个表示用户的类,user是一个User类的对象,user具有属性:userID,属性userID的属性值为0001。将user的属性值保存为序列化数据,例如xml格式或者json格式的数据的过程即为一种序列化,而从xml格式或者json格式的数据中解析出user的属性值,根据user的属性值对user的属性进行赋值的过程即为一种反序列化。
目前在实现反序列化时,首先要通过反射的方式获得待重建对象具有的属性,之后通过解析序列化数据获得属性对应的属性值,并根据获得的属性值对属性赋值。然而,目前在通过反射的方式获得所述待重建对象具有的属性时,通常会占用较多的硬件资源,从而造成反序列化的效率较低。
发明内容
本申请解决的技术问题在于提供一种反序列化方法及装置,无需通过反射的方式获得待重建对象具有的属性,从而节约了硬件资源以提高反序列化的效率。
为此,本申请解决技术问题的技术方案是:
本申请提供了一种反序列化方法,包括:
获取序列化数据,所述序列化数据包括待重建对象的第一属性;
对所述序列化数据进行解析以生成第一键值对,所述第一键值对包括第一键信息和第一值信息,所述第一键信息与所述第一值信息具有对应关系;
根据预先设置的所述第一键信息和所述第一属性的对应关系,将所述第一属性赋值为所述第一键信息对应的所述第一值信息。
可选的,所述序列化数据还包括所述待重建对象的第二属性;所述方法还包括:
对所述序列化数据进行解析以生成第二键值对,所述第二键值对包括第二键信息和第二值信息,所述第二键信息与所述第二值信息具有对应关系;
根据预先设置的所述第二键信息和所述第二属性的对应关系,将所述第二属性赋值为所述第二键信息对应的所述第二值信息。
可选的,所述第一属性具有子属性;
所述方法还包括:建立所述待重建对象的第一子对象;
所述根据预先设置的所述第一键信息和所述第一属性的对应关系,将所述第一属性赋值为所述第一键信息对应的所述第一值信息,包括:
根据预先设置的所述第一键信息和所述子属性的对应关系,将所述第一子对象的属性赋值为所述第一键信息对应的所述第一值信息。
可选的,所述第一属性为集合格式;
所述方法还包括:建立所述待重建对象的第二子对象,所述第二子对象为集合类型;
将所述第一属性赋值为所述第一键信息对应的所述第一值信息,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510408889.1/2.html,转载请声明来源钻瓜专利网。