[发明专利]JSON对象解析方法、装置、电子设备及存储介质有效
| 申请号: | 202011012560.0 | 申请日: | 2020-09-23 |
| 公开(公告)号: | CN112130860B | 公开(公告)日: | 2023-09-05 |
| 发明(设计)人: | 李星 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30 |
| 代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 丁芸;马敬 |
| 地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | json 对象 解析 方法 装置 电子设备 存储 介质 | ||
1.一种JSON对象解析方法,其特征在于,所述方法包括:
获取待解析的JSON对象的类,得到目标类;
若已创建的类中不存在所述目标类,创建所述目标类;
基于创建的所述目标类,建立所述JSON对象;
获取所述JSON对象对应的字典中的各关键字Key;
按照预设的遍历顺序,获取当前待处理的Key的值Value;
在当前选取的Key对应的Value为字符串时,将当前选取的Key的Value作为属性值;
判断所述JSON对象中是否存在当前选取的Key对应的属性;
若所述JSON对象中不存在当前选取的Key对应的属性,在所述JSON对象中创建对应的属性;
将当前选取的Key的Value赋予当前选取的Key对应的属性;
返回执行上述步骤:按照预设的遍历顺序,获取当前待处理的Key的值Value,直至所述JSON对象对应的字典中的各Key均处理完成。
2.根据权利要求1所述的方法,其特征在于,在所述按照预设的遍历顺序,获取当前待处理的Key的值Value之后,所述方法还包括:
在当前选取的Key对应的Value为字典时,根据当前选取的Key对应的字典,在所述JSON对象中创建当前选取的Key对应的子对象。
3.根据权利要求2所述的方法,其特征在于,所述根据当前选取的Key对应的字典,在所述JSON对象中创建当前选取的Key对应的子对象,包括:
在当前选取的Key对应的字典中,获取表示子对象类名的Key;
若表示子对象类名的Key的Value为子对象类名,在所述JSON对象中建立所述子对象类名表示的类,并基于所述子对象类名表示的类创建当前选取的Key对应的子对象;
若表示子对象类名的Key的Value为子对象类名函数,在所述JSON对象中建立当前选取的Key对应的子对象类名函数,并基于所述子对象类名函数表示的类创建当前选取的Key对应的子对象,其中,所述子对象类名函数用于调用从其他应用中获取的当前选取的Key对应的子对象类名。
4.根据权利要求1所述的方法,其特征在于,在所述按照预设的遍历顺序,获取当前待处理的Key的值Value之后,所述方法还包括:
在当前选取的Key对应的Value为数组时,获取当前选取的Key对应的数组的各元素;
针对为字典的元素,根该字典创建当前选取的Key对应的子对象;
针对为字符串的元素,将该字符串作为属性值赋予当前选取的Key对应的属性。
5.根据权利要求1所述的方法,其特征在于,在所述判断所述JSON对象中是否存在当前选取的Key对应的属性之前,所述方法还包括:
判断当前选取的Key对应的属性是否为预设保留关键字;
若当前选取的Key对应的属性为所述预设保留关键字,对当前选取的Key对应的属性重命名。
6.一种JSON对象解析装置,其特征在于,所述装置包括:
目标类获取模块,用于获取待解析的JSON对象的类,得到目标类;
目标类建立模块,用于若已创建的类中不存在所述目标类,创建所述目标类;
JSON对象建立模块,用于基于创建的所述目标类,建立所述JSON对象;
Key获取模块,用于获取所述JSON对象对应的字典中的各关键字Key;
Key选取模块,用于按照预设的遍历顺序,获取当前待处理的Key的值Value;
属性值获取模块,用于在当前选取的Key对应的Value为字符串时,将当前选取的Key的Value作为属性值;
第一判断模块,用于判断所述JSON对象中是否存在当前选取的Key对应的属性;
属性创建模块,用于若所述JSON对象中不存在当前选取的Key对应的属性,在所述JSON对象中创建对应的属性;
第一属性赋值模块,用于将当前选取的Key对应的Value赋予当前选取的Key对应的属性;
第二判断模块,用于返回上述Key选取模块继续执行,直至所述JSON对象对应的字典中的各Key均处理完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011012560.0/1.html,转载请声明来源钻瓜专利网。





