[发明专利]属性获取方法和装置有效
申请号: | 202110594722.4 | 申请日: | 2021-05-28 |
公开(公告)号: | CN113326031B | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 张展宇 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 赵昀彬 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 属性 获取 方法 装置 | ||
1.一种属性获取方法,其特征在于,包括:
获取源对象和目标属性,其中,所述源对象包含多个属性,所述多个属性采用多层嵌套结构,所述目标属性为所述多个属性中待获取属性值的属性;
按照所述多个属性的层级关系,通过代理对象依次读取每个属性的属性值,并将当前读取到的属性值与所述目标属性对应的目标条件进行比较,确定是否返回所述当前读取到的属性值,其中,响应于确定不返回所述当前读取到的属性值,基于所述读取到的属性值,生成新的代理对象,并通过所述新的代理对象读取所述每个属性的属性值;
获取所述代理对象返回的属性值,得到所述目标属性的属性值。
2.根据权利要求1所述的方法,其特征在于,将所述当前读取到的属性值与所述目标属性对应的目标条件进行比较,确定是否返回所述当前读取到的属性值包括:
将所述当前读取到的属性值对应的第一属性名称与所述目标属性的第二属性名称进行比较;
当所述第一属性名称与所述第二属性名称相同时,确定返回所述当前读取到的属性值。
3.根据权利要求2所述的方法,其特征在于,当所述第一属性名称与所述第二属性名称不同时,所述方法还包括:
基于所述当前读取到的属性值,生成所述新的代理对象;
通过所述新的代理对象读取所述每个属性的属性值,并将新读取到的属性值与所述目标属性对应的目标条件进行比较,确定是否返回所述新读取到的属性值。
4.根据权利要求3所述的方法,其特征在于,基于所述当前读取到的属性值,生成所述新的代理对象包括:
创建新对象;
将所述当前读取到的属性值克隆到所述新对象中;
更新所述新对象的预设属性的属性值为所述当前读取到的属性值;
基于更新后的新对象创建所述新的代理对象。
5.根据权利要求1所述的方法,其特征在于,基于所述源对象和所述目标属性的第二属性名称,创建所述代理对象。
6.根据权利要求5所述的方法,其特征在于,通过所述代理对象包含的预设函数拦截所述当前读取到的属性值,并将所述当前读取到的属性值与所述目标条件进行比较,确定是否返回所述当前读取到的属性值,其中,所述预设函数为所述代理对象的行为对象参数包含的属性。
7.根据权利要求6所述的方法,其特征在于,基于所述目标属性的第二属性名称构建所述预设函数。
8.一种属性获取装置,其特征在于,包括:
第一获取模块,用于获取源对象和目标属性,其中,所述源对象包含多个属性,所述多个属性采用多层嵌套结构,所述目标属性为所述多个属性中待获取属性值的属性;
确定模块,用于按照所述多个属性的层级关系,通过代理对象依次读取每个属性的属性值,并将当前读取到的属性值与所述目标属性对应的目标条件进行比较,确定是否返回所述当前读取到的属性值,其中,响应于确定不返回所述当前读取到的属性值,基于所述读取到的属性值,生成新的代理对象,并通过所述新的代理对象读取所述每个属性的属性值;
第二获取模块,用于获取所述代理对象返回的属性值,得到所述目标属性的属性值。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的属性获取方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的属性获取方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110594722.4/1.html,转载请声明来源钻瓜专利网。