[发明专利]一种JSON对象解析方法、装置、电子设备及存储介质在审
申请号: | 202111257546.1 | 申请日: | 2021-10-27 |
公开(公告)号: | CN113971029A | 公开(公告)日: | 2022-01-25 |
发明(设计)人: | 李星 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/448 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 项京;孙翠贤 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 json 对象 解析 方法 装置 电子设备 存储 介质 | ||
1.一种JSON对象解析方法,其特征在于,包括:
当JSON对象对应的子类中的目标属性被调用时,判断所述目标属性是否为首次被调用;其中,所述子类中与所述JSON对象对应的属性均被标记为指定关键字,所述指定关键字用于禁止编译器为所述目标属性自动生成获取函数和赋值函数;
如果所述目标属性为首次被调用,则调用基类将通用解析函数添加为所述目标属性对应的获取函数,并利用所述通用解析函数从所述JSON对象的待解析字典中,获取所述目标属性对应的待解析值,对所述待解析值进行解析;
如果所述目标属性不是首次被调用,则利用所述目标属性对应的获取函数从所述目标属性对应的私有属性中,获取所述目标属性对应的解析后的值。
2.根据权利要求1所述的方法,其特征在于,所述判断所述目标属性是否为首次被调用,包括:
判断所述子类是否已实现所述目标属性对应的获取函数;
若是,则确定所述目标属性不是首次被调用;
若否,则确定所述目标属性是首次被调用。
3.根据权利要求1所述的方法,其特征在于,所述利用所述通用解析函数从所述JSON对象的待解析字典中,获取所述目标属性对应的待解析值,包括:
通过调用函数的函数声明获取所述目标属性的目标属性名称,所述调用函数为调用所述目标属性的函数;
从所述待解析字典中查找所述目标属性名称对应的待解析值;
如果查找到待解析值,则根据查找到的待解析值的类型对待解析值进行解析。
4.根据权利要求3所述的方法,其特征在于,在从所述待解析字典中查找所述目标属性名称对应的待解析值后,所述方法还包括:
如果未查找到所述待解析值,则根据映射关系字典查找所述目标属性名称对应的正确属性名称;
从所述待解析字典中查找所述正确属性名称对应的待解析值,根据查找到的待解析值的类型对待解析值进行解析。
5.根据权利要求1所述的方法,其特征在于,在所述判断所述目标属性是否为首次被调用之前,所述方法还包括:
判断调用函数是否为获取函数,所述调用函数为调用所述目标属性的函数;
若是,则执行所述判断所述目标属性是否为首次被调用的步骤;
若否,则判断所述子类是否已实现所述目标属性对应的赋值函数;
如果所述子类已实现所述目标属性对应的赋值函数,则调用所述赋值函数对所述目标属性对应的私有属性进行赋值操作;
如果所述子类未实现所述目标属性对应的赋值函数,则调用所述基类的将通用赋值函数添加为所述目标属性对应的赋值函数,并利用所述通用赋值函数对所述目标属性对应的私有属性进行赋值。
6.根据权利要求3或4所述的方法,其特征在于,所述根据查找到的待解析值的类型对待解析值进行解析,包括:
如果待解析值的类型为字典类型,则对待解析值进行对象解析;或者,
如果待解析值的类型为数组类型,则对待解析值进行数组解析;或者,
如果待解析值的类型为非数据结构类型,则对待解析值进行字符串解析。
7.一种JSON对象解析装置,其特征在于,所述装置包括:
判断模块,用于当JSON对象对应的子类中的目标属性被调用时,判断所述目标属性是否为首次被调用;其中,所述子类中与所述JSON对象对应的属性均被标记为指定关键字,所述指定关键字用于禁止编译器为所述目标属性自动生成获取函数和赋值函数;
解析模块,用于如果所述目标属性为首次被调用,则调用基类将通用解析函数添加为所述目标属性对应的获取函数,并利用所述通用解析函数从所述JSON对象的待解析字典中,获取所述目标属性对应的待解析值,对所述待解析值进行解析;
获取模块,用于如果所述目标属性不是首次被调用,则利用所述目标属性对应的获取函数从所述目标属性对应的私有属性中,获取所述目标属性对应的解析后的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111257546.1/1.html,转载请声明来源钻瓜专利网。