[发明专利]JSON数据解析方法、装置、计算机设备和存储介质有效
申请号: | 201710979911.7 | 申请日: | 2017-10-19 |
公开(公告)号: | CN109684607B | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | 丁骥 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F40/151 | 分类号: | G06F40/151;G06F8/51;G06F8/30 |
代理公司: | 华进联合专利商标代理有限公司 44224 | 代理人: | 何平;邓云鹏 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | json 数据 解析 方法 装置 计算机 设备 存储 介质 | ||
1.一种JSON数据解析方法,包括:
获取JSON数据;
通过JSON数据的数据结构对应的特殊格式符,识别得到所述JSON数据的数据结构;
当数据结构为数组时,解析所述数组结构,获取子元素为对象的JSON对象;
获取各JSON对象的键名以及与所述键名对应的键值;
根据所述键名将各JSON对象进行转换,得到各JSON对象对应的Java类及Java类的各字段名,所述Java类的字段名与对应JSON对象的所述键名对应;其中,当所述数组的子元素包括不具有键名的子对象时,所述根据所述键名将各JSON对象进行转换,得到各JSON对象对应的Java类及Java类的各字段名的步骤包括:将所述数组的所有的不具有键名的子对象转换成一个Java类;根据父数组的键名确定各不具有键名的子对象的键名;分别根据所述子对象的键名和子对象对应的索引值得到所述Java类中各索引值对应的字段名;所述索引值为子元素的下标;
根据所述键名在所述JSON对象中反射得到所述Java类的各字段名的字段值。
2.根据权利要求1所述的方法,其特征在于,在所述通过JSON数据的数据结构对应的特殊格式符,识别得到所述JSON数据的数据结构之后,还包括:当所述数据结构为对象时,获取JSON对象。
3.根据权利要求1所述的方法,其特征在于,解析所述数组结构,获取子元素为对象的JSON对象步骤,包括:
针对数组,解析数组结构;
当所述数组的子元素为子对象时,获取子元素为对象的JSON对象;
当所述数组的子元素为子数组时,返回所述针对数组,解析数组结构的步骤。
4.根据权利要求3所述的方法,其特征在于,当所述数组的子元素为子数组时,根据对应的所述父数组的键值和所述子数组的索引值得到所述子数组的键名。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述获取各JSON对象的键名以及与所述键名对应的键值的步骤,包括:
通过字符串分析,获取各JSON对象的键名以及与所述键名对应的键值。
6.一种JSON数据解析装置,包括获取模块、解析模块、键获取模块、转换模块和反射模块:
所述获取模块,用于获取JSON数据;
所述解析模块,用于通过JSON数据的数据结构对应的特殊格式符,识别得到所述JSON数据的数据结构;当数据结构为数组时,解析所述数组结构,获取子元素为对象的JSON对象;
所述键获取模块,用于获取各JSON对象的键名以及与所述键名对应的键值;
所述转换模块,用于根据所述键名将各JSON对象进行转换,得到各JSON对象对应的Java类及Java类的各字段名,所述Java类的字段名与对应JSON对象的所述键名对应;其中,当所述数组的子元素包括不具有键名的子对象时,所述转换模块,用于将所述数组的所有的不具有键名的子对象转换成一个Java类;根据父数组的键名确定各不具有键名的子对象的键名;分别根据所述子对象的键名和子对象对应的索引值得到所述Java类中各索引值对应的字段名;所述索引值为子元素的下标;
所述反射模块,用于根据所述键名在所述JSON对象中反射得到所述Java类的各字段名的字段值。
7.根据权利要求6所述的装置,其特征在于,所述解析模块,用于当所述数据结构为对象时,获取JSON对象。
8.根据权利要求6所述的装置,其特征在于,所述数据结构识别模块,还用于针对数组,解析数组结构,还用于在所述数组的子元素为子数组时,针对数组解析数组结构;
所述对象获取模块,还用于当所述数组的子元素为子对象时,获取子元素为对象的JSON对象。
9.根据权利要求8所述的装置,其特征在于,所述键获取模块,还用于当所述数组的子元素为子数组时,根据对应的所述父数组的键值和所述子数组的索引值得到所述子数组的键名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710979911.7/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置