[發明專利]一種反序列化方法及裝置有效
| 申請號: | 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.17sss.com.cn/pat/books/201510408889.1/2.html,轉載請聲明來源鉆瓜專利網。





