java报文对比_JSON报文比对方法及系统与流程

c10aea61eec8de4dbd4e80cf9f7be94f.gif

本发明涉及一种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类型,若是,则对当前节点的所有孩子节点进行比对,然

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值