[发明专利]反序列化方法及装置在审
申请号: | 201510702419.6 | 申请日: | 2015-10-26 |
公开(公告)号: | CN106610922A | 公开(公告)日: | 2017-05-03 |
发明(设计)人: | 储雨知 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22 |
代理公司: | 北京鼎佳达知识产权代理事务所(普通合伙)11348 | 代理人: | 王伟锋,刘铁生 |
地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 序列 方法 装置 | ||
技术领域
本发明涉及数据处理技术领域,尤其涉及一种反序列化方法及装置。
背景技术
如今的编程世界中,有很多需要将Json(JavaScript Object Notation,轻量级的数据交换格式)文档反序列化为强类型实体的需求。其中,Json文档是基于JavaScript编程语言标准的一种轻量级的数据交换格式,主要用于跟服务器进行交换数据。而Json端的设计往往会采用JsonPatch规则,JsonPatch规则采用的是基准和delta的方式来定义Json文档内容,所以要想将Json文档反序列化为强类型实体,则需要将JsonPatch规则下的Json文档转换为强类型实体。
目前,将Json文档反序列化为强类型实体,则首先需要解析Json文档中的Patch路径,而在对Patch路径进行解析的时候,对Patch路径中的每个路径部件要么当做强类型属性,要么当做数组下标,而且数组下标只能应用于实现IList接口的强类型属性,因此现有的Json文档反序列化做法无法支持字典,从而现有的反序列化方法的反序列效率低。
发明内容
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的反序列化方法及装置。
为达到上述目的,本发明主要提供如下技术方案:
一方面,本发明实施例提供了一种反序列化方法,该方法包括:
将Json文档转换为强类型实体;
根据所述强类型实体,顺序遍历与所述Json文档对应的各个路径组件,所述路径组件是按照顺序从所述Json文档的路径中提取的;
根据所述遍历结果获取最后一个路径组件对应的运行类型;
若所述最后一个路径组件的运行类型为字典,则将所述最后一个路径组件确定成所述字典的键,根据所述Json文档中的操作内容对所述字典的键做相应操作。
另一方面,本发明实施例还提供一种反序列化装置,该装置包括:
转换单元,用于将Json文档转换为强类型实体;
遍历单元,用于根据所述强类型实体,顺序遍历与所述Json文档对应的各个路径组件,所述路径组件是按照顺序从所述Json文档的路径中提取的;
获取单元,用于根据所述遍历结果获取最后一个路径组件对应的运行类型;
确定单元,用于若所述最后一个路径组件的运行类型为字典,则将所述最后一个路径组件确定成所述字典的键,根据所述Json文档中的操作内容对所述字典的键做相应操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明实施例提供了一种反序列化方法及装置,首先将Json文档转换为强类型实体,然后根据所述强类型实体,顺序遍历与所述Json文档对应的各个路径组件,所述路径组件是按照顺序从所述Json文档的路径中提取的,再根据所述遍历结果获取最后一个路径组件对应的运行类型,若所述最后一个路径组件的运行类型为字典,则将所述最后一个路径组件确定成所述字典的键,根据所述Json文档中的操作内容对所述字典的键做相应操作。与目前反序列化方法无法支持反序列化字典相比,本发明实施例首先将Json文档转换为强类型实体,然后根据所述强类型实体顺序遍历与所述Json文档对应的各个路径组件,再根据所述遍历结果获取最后一个路径组件对应的运行类型,若所述最后一个路径组件的运行类型为字典,则将所述最后一个路径组件确定成所述字典的键,根据所述Json文档中的操作内容对所述字典的键做相应操作,本发明尝试将路径组件当做字典键,从而在Json文档的路径就可以加入字典的功能,进而本发明可以支持反序列化字典。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种反序列化方法流程图;
图2为本发明实施例提供的另一种反序列化方法流程图;
图3为本发明实施例提供的一种反序列化装置的组成框图;
图4为本发明实施例提供的另一种反序列化装置的组成框图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510702419.6/2.html,转载请声明来源钻瓜专利网。