[发明专利]JSON报文比对方法及系统在审
申请号: | 201810646030.8 | 申请日: | 2018-06-21 |
公开(公告)号: | CN109032886A | 公开(公告)日: | 2018-12-18 |
发明(设计)人: | 时宇翔;虞斌;王海兵 | 申请(专利权)人: | 携程旅游网络技术(上海)有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 上海弼兴律师事务所 31283 | 代理人: | 薛琦;张冉 |
地址: | 200335*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 比对 自定义 报文 动态解析 节点路径 扩展性 配置的 调用 检测 灵活 配置 | ||
本发明公开了一种JSON报文比对方法及系统,JSON报文比对方法包括以下步骤:S1、配置需要进行自定义比对的节点路径以及相应的自定义比对逻辑;S2、在进行JSON报文比对时检测当前比对节点是否存在配置的自定义比对逻辑,若是,则执行步骤S3,若否,则执行步骤S4;S3、动态解析自定义比对逻辑,并调用自定义比对逻辑对所述当前比对节点进行比对;S4、按照原始的比对逻辑对所述当前比对节点进行比对。本发明实现了在无需修改原始比对逻辑的情况下灵活自定义特定节点比对逻辑的效果,大大提升比对方法的灵活性和扩展性,提高了报文比对的效率。
技术领域
本发明涉及一种JSON报文比对方法及系统,特别涉及一种支持自定义比对逻辑的JSON报文比对方法及系统。
背景技术
现有JSON(一种轻量级的数据交换格式)报文比对方法对JSON格式报文进行逐节点比较,输出不一致的节点名称和节点值,从而定位报文的差异。其缺陷在于判断节点值是否一致的逻辑是固定的,大部分场景下这种方式可以满足需求,但存在一些特定的场景,例如节点值不同但符合某种逻辑关系的被认为是一致的,不希望作为不一致的信息进行输出。然而现有比对方法无法在不修改原比对逻辑的前提下支持这种场景,依旧会当作不一致的信息报出来,扰乱了比对结果,需要人工进行判断,降低了报文比对的效率。
发明内容
本发明要解决的技术问题是为了克服现有技术中JSON报文比对无法支持自定义比对逻辑的缺陷,提供一种JSON报文比对方法及系统。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供了一种JSON报文比对方法,包括以下步骤:
S1、配置需要进行自定义比对的节点路径以及相应的自定义比对逻辑;
S2、在进行JSON报文比对时检测当前比对节点是否存在配置的自定义比对逻辑,若是,则执行步骤S3,若否,则执行步骤S4;
S3、动态解析自定义比对逻辑,并调用自定义比对逻辑对所述当前比对节点进行比对;
S4、按照原始的比对逻辑对所述当前比对节点进行比对。
较佳地,步骤S2之前包括:
S11、开始比对两个JSON报文;
S12、将字符串形式的JSON报文序列化成JSON类型对象并从根节点开始递归比对。
较佳地,步骤S2具体包括:
检测当前比对节点到根节点的路径是否包含于配置的自定义比对的节点路径中,若是,则执行步骤S3,若否,则执行步骤S4。
较佳地,步骤S4具体包括:
S41、判断当前节点是否为JSON类型,若是,则对当前节点的所有孩子节点进行比对,然后返回步骤S2;若否,则执行步骤S42;
S42、判断当前节点是否为数组类型,若是,则对当前数组节点的所有子元素进行比对,然后返回步骤S2;若否,则执行步骤S43;
S43、直接比对节点内容。
较佳地,步骤S1中配置的节点路径为从JSON报文最外层的根节点到自定义比对的节点的完整路径。
本发明的目的在于提供了一种JSON报文比对系统,包括:
配置模块,用于配置需要进行自定义比对的节点路径以及相应的自定义比对逻辑;
检测模块,用于在进行JSON报文比对时检测当前比对节点是否存在配置的自定义比对逻辑,若是,则调用第一比对模块,若否,则调用第二比对模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于携程旅游网络技术(上海)有限公司,未经携程旅游网络技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810646030.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种人员信息控制系统
- 下一篇:一种故障硬盘快速定位方法及系统