[发明专利]一种JSON文本的比对方法和装置有效
申请号: | 201710252148.8 | 申请日: | 2017-04-18 |
公开(公告)号: | CN108733689B | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | 邱龙;詹平平 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 赵静;蒋宇星 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 json 文本 方法 装置 | ||
1.一种JSON文本的比对方法,其特征在于,包括:
保存待比对JSON文本的配置信息;所述配置信息用于设置比对文本中的不需要比对的属性;
解析所述待比对JSON文本,以将JSON格式的文本转换为多叉树结构的文本;
将所述多叉树结构的文本转换为键值对结构的文本;
结合所述配置信息,将所述键值对结构的文本进行比对,以得到比对结果;
将所述多叉树结构的文本转换为键值对结构的文本包括:
从所述多叉树的根节点至叶子节点分别进行遍历,将遍历经过的路径的节点名称通过点拼接起来,以得到该多叉树所有的路径名称;
将路径名称作为该文本的一个键名,将路径相同的末端的叶子节点的值组成数组,按照预设规则对数组中的值进行排序,将该路径名称的路径末端叶子节点的值作为对应于该键名的键值。
2.根据权利要求1所述的方法,其特征在于,所述解析所述待比对JSON文本,以将JSON格式的文本转换为多叉树结构的文本包括:
逐行读取JSON文本,根据以下解析规则对所述JSON格式的文本进行解析;
当读取到对象时,解析规则包括:
对象中元素包括三种形式:对象object、数组array、以及值value;
规则1:当对象中的元素为对象时:将该元素解析成一个类型为object的子节点,同时在重复解析此子节点内部元素,直到读取到值value元素为止;
规则2:当对象中的元素为数组时:遍历数组中元素,数组中的元素包括:对象object和值value:
当数组中的元素为值value时,将该元素转换成类型为primitive的子节点;
当数组中的元素为对象object时,将该元素转换成类型为object的子节点;再对该元素以读取到对象时的解析规则进行解析;
规则3:当对象中的元素为值时:将该元素解析成一个类型为primitive的子节点,并以此节点解析结束;
当读取到数组时,解析规则包括:
当数组中的元素为值value时,将该元素转换成类型为primitive的子节点;
当数组中的元素为对象object时,将该元素转换成类型为object的子节点;再对该元素以读取到对象时的解析规则进行解析;
当读取到值时,解析规则为:
将该元素解析成一个类型为primitive的子节点,并以此节点解析结束。
3.根据权利要求1所述的方法,其特征在于,所述将路径名称作为该文本的一个键名,将路径相同的末端的叶子节点的值组成数组,按照预设规则对数组中的值进行排序,将该路径名称的路径末端叶子节点的值作为对应于该键名的键值包括:
查找相同的路径名称进行去重,将重复的路径名称作为文本的一个键名,然后将路径相同的末端的叶子节点的值组成数组,并将数组中的值按照ASII编码由小到大排序,以得到该路径名称的键名所对应的键值;
将除去重复路径后的剩余每一个路径名称作为文本的一个键名,将各路径末端的叶子节点的值作为对应于该键名的键值。
4.根据权利要求1所述的方法,其特征在于,所述结合所述配置信息,将所述键值对结构的文本进行比对,以得到比对结果包括:
步骤A:确定键名数量多的文本;
步骤B:获取键名数量多的文本中的一个键名;
步骤C:判断键名是否与所述配置信息中的属性相匹配,若是,执行步骤B;否则,执行步骤D;
步骤D:从键名数量少的文本中查找相同的键名,如果找到,则执行步骤E;否则,将键名存入不同路径集合中;
步骤E:判断步骤D中所查找到的键名所对应的键值是否与步骤B中键名所对应的键值相同,若是,则返回步骤B;否则,将键名存入不同路径集合中;
步骤F:判断不同路径集合是否为空,若是,则返回表明文本相同的比对结果;否则,返回表明比对文本不同的比对结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710252148.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据分析的方法、装置
- 下一篇:图像数据存储方法、装置及电子设备