反序列化方法及装置与流程

文档序号:11063445阅读:来源:国知局

技术特征:

1.一种反序列化方法,其特征在于,包括:

将Json文档转换为强类型实体;

根据所述强类型实体,顺序遍历与所述Json文档对应的各个路径组件,所述路径组件是按照顺序从所述Json文档的路径中提取的;

根据所述遍历结果获取最后一个路径组件对应的运行类型;

若所述最后一个路径组件的运行类型为字典,则将所述最后一个路径组件确定成所述字典的键,根据所述Json文档中的操作内容对所述字典的键做相应操作。

2.根据权利要求1所述的反序列化方法,其特征在于,所述顺序遍历与所述Json文档对应的各个路径组件之前,所述方法还包括:

定义一个变量,所述变量的初始值为所述强类型实体,所述变量用于记录所述路径组件从属于的对象。

3.根据权利要求2所述的反序列化方法,其特征在于,所述顺序遍历与所述Json文档对应的各个路径组件包括:

若除所述最后一个路径组件的路径组件中的任一路径组件为数字,则通过获取所述变量的类型确定数字路径组件的运行类型;

判断所述数字路径组件的运行类型是否能够实现IList接口;

若能,则以所述数字路径组件为数组下标,取出相应数组元素存储到所述变量中。

4.根据权利要求2所述的反序列化方法,其特征在于,所述顺序遍历与所述Json文档对应的各个路径组件还包括:

若除所述最后一个路径组件的路径组件中的任一路径组件不是数字,则通过获取所述变量的类型确定非数字路径组件的运行类型;

判断所述非数字路径组件的运行类型是否能够实现IDictionary接口;

若能,则以所述非数字路径组件为键,取出相应字典元素存储到所述变量中。

5.根据权利要求3或4所述的反序列化方法,其特征在于,所述通过所述遍历结果获取最后一个路径组件对应的运行类型包括:

在顺序遍历除所述最后一个路径组件的路径组件之后,通过获取所述变量的类型确定所述最后一个路径组件对应的运行类型。

6.一种反序列化装置,其特征在于,包括:

转换单元,用于将Json文档转换为强类型实体;

遍历单元,用于根据所述强类型实体,顺序遍历与所述Json文档对应的各个路径组件,所述路径组件是按照顺序从所述Json文档的路径中提取的;

获取单元,用于根据所述遍历结果获取最后一个路径组件对应的运行类型;

确定单元,用于若所述最后一个路径组件的运行类型为字典,则将所述最后一个路径组件确定成所述字典的键,根据所述Json文档中的操作内容对所述字典的键做相应操作。

7.根据权利要求6所述的反序列化装置,其特征在于,所述装置还包括:

定义单元,用于定义一个变量,所述变量的初始值为所述强类型实体,所述变量用于记录所述路径组件从属于的对象。

8.根据权利要求7所述的反序列化装置,其特征在于,所述遍历单元包括:

确定模块,若除所述最后一个路径组件的路径组件中的任一路径组件为数字,则通过获取所述变量的类型确定数字路径组件的运行类型;

判断模块,用于判断所述数字路径组件的运行类型是否能够实现IList接口;

存储模块,用于若所述数字路径组件的运行类型能够实现IList接口,则以所述数字路径组件为数组下标,取出相应数组元素存储到所述变量中。

9.根据权利要求7所述的反序列化装置,其特征在于,

所述确定模块,还用于若除所述最后一个路径组件的路径组件中的任一路径组件不是数字,则通过获取所述变量的类型确定非数字路径组件的运行类型;

所述判断模块,还用于判断所述非数字路径组件的运行类型是否能够 实现IDictionary接口;

所述存储模块,还用于若述非数字路径组件的运行类型能够实现IDictionary接口,则以所述非数字路径组件为键,取出相应字典元素存储到所述变量中。

10.根据权利要求8或9所述的反序列化装置,其特征在于,

所述获取单元,具体用在顺序遍历除所述最后一个路径组件的路径组件之后,通过获取所述变量的类型确定所述最后一个路径组件对应的运行类型。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1