json文件的比对方法、装置、存储介质及计算机设备制造方法及图纸

技术编号:24010813 阅读:29 留言:0更新日期:2020-05-02 01:40
本申请涉及一种json文件的比对方法。该方法包括:获取两个待比对json文件;当确定所述两个待比对json文件中的字段不一致时,根据所述两个待比对文件生成校验文件;根据所述校验文件提取所述两个待比对json文件中的差异字段;根据所述差异字段生成比对结果。本申请可以根据所述两个待比对文件生成校验文件,并根据所述校验文件提取所述两个待比对json文件中的差异字段,无需预先配置各个比对节点,以及针对各个比对节点的比对逻辑,实现简单快捷地提取差异字段,提高json文件比对的效率。

Comparison method, device, storage medium and computer equipment of JSON file

【技术实现步骤摘要】
json文件的比对方法、装置、存储介质及计算机设备
本申请涉及数据处理
,特别是涉及一种json文件的比对方法、装置、存储介质及计算机设备。
技术介绍
json(javascriptobjectnotation:java脚本对象注释)是一种轻量级的数据交换格式。json是js(javascript,一种直译式脚本语言)对象的字符串表示法,它使用文本表示一个js对象的信息,本质是一个字符串。在应用程序编程接口测试过程中,经常会遇到代码重构或者频繁迭代等需求,而要求做接口返回结果的对比测试。或者,另外一种应用场景中,直接导入两个json文件,需要对该两个json文件进行差异比对。在进行差异检测时,现有技术中要么通过利用现有的一些json对比工具(jsondiff工具)做对比,要么通过配置需要进行自定义比对的节点和相应的比对逻辑代码,保存到文件或数据库中,后续依据该自定义比对的节点和相应的比对逻辑代码执行比对。然而,利用现有的json对比工具做对比时,仅适用于对于数据量较少,且结构较简单的json文件的比对,对于数量大且结果复杂的json文件则不适用。通过自定义比对节点进行比对时,需要预先配置各个节点以及各个节点对应的比对逻辑,方案复杂,工作量大。
技术实现思路
基于此,有必要针对上述技术问题,提供一种可以根据两个待比对文件生成校验文件,并根据校验文件提取两个待比对json文件中的差异字段,实现简单快捷地提取差异字段,提高比对的效率的json文件的比对方法、装置、计算机设备和存储介质。一种json文件的比对方法,方法包括:获取两个待比对json文件;在两个待比对json文件中的字段不一致时,根据两个待比对文件生成校验文件;根据校验文件提取两个待比对json文件中的差异字段;根据差异字段生成比对结果。在其中一个实施例中,方法还包括:根据预设的忽略规则获取两个待比对json文件中的待忽略字段,分别删除两个待比对json文件中的待忽略字段,或者/和,根据预设的替换规则,分别获取两个待比对json文件中的待替换字段,将待替换字段替换成替换规则中替换字段列表中的目标字段,得到两个中间文件;根据两个中间文件生成校验文件。在其中一个实施例中,方法还包括:将两个待比对json文件转换成对应的schema字符串;比对各个待比对json文件对应的schema字符串;在两个schema字符串不一致时,确定两个待比对json文件中的字段不一致。在其中一个实施例中,根据两个待比对文件生成校验文件,包括:将两个待比对json文件分别转换成两个json对象;分别提取两个json对象中的各个字段的路径标识以及字段信息;根据所述各个字段的路径标识以及字段信息分别生成两个json对象对应的字段信息列表作为所述校验文件;根据校验文件提取两个待比对json文件中的差异字段,包括:提取两个字段信息列表中,相同路径标识对应的字段信息不同的字段作为差异字段。在其中一个实施例中,根据两个待比对文件生成校验文件,包括:从两个待比对json文件中选取一个待比对json文件作为基准文件,另一个待比对json文件作为测试文件;依据基准文件生成schema文件作为校验文件,schema文件中包含校验规则,校验规则中包括基准文件中各个字段的字段信息以及全部的必需字段;根据校验文件提取两个待比对json文件中的差异字段,包括:将测试文件中的各个字段与校验规则中对应的字段信息进行比对;当测试文件中不包含校验规则中全部的必需字段时,获取测试文件中不存在的必需字段作为测试文件的缺失字段;当测试文件中的字段信息与校验规则中对应的字段信息不一致时,获取该字段信息对应的字段作为测试文件中的变化字段;当测试文件中存在除校验规则中各个字段以外的其他字段时,获取该其他字段作为测试文件的多余字段;将缺失字段、多余字段以及变化字段作为测试文件与基准文件的差异字段。在其中一个实施例中,根据差异字段生成比对结果,包括:将缺失字段、多余字段以及变化字段进行分类,提取各个类别中各个字段的字段信息;分别统计各个类别中全部字段的数量;根据各个类别中各个字段的字段信息以及全部字段的数量生成差异报表;以该差异报表作为比对结果。一种json文件的比对装置,装置包括:获取模块,用于获取两个待比对json文件;生成模块,用于在两个待比对json文件中的字段不一致时,根据两个待比对文件生成校验文件;提取模块,用于根据校验文件提取两个待比对json文件中的差异字段;输出模块,用于根据差异字段生成比对结果。在其中一个实施例中,装置还包括:确定模块,用于将两个待比对json文件转换成对应的schema字符串;比对各个待比对json文件对应的schema字符串;在两个schema字符串不一致时,确定两个待比对json文件中的字段不一致。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现上述任一实施例方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述任一实施例方法的步骤。上述的json文件的比对方法、装置及计算机设备,方法通过获取两个待比对json文件;当确定两个待比对json文件中的字段不一致时,根据两个待比对文件生成校验文件;根据校验文件提取两个待比对json文件中的差异字段;根据差异字段生成比对结果。本申请可以根据两个待比对文件生成校验文件,并根据校验文件提取两个待比对json文件中的差异字段,无需预先配置各个比对节点,以及针对各个比对节点的比对逻辑,实现简单快捷地提取差异字段,提高json文件比对的效率。附图说明图1为本申请一示例性实施例中json文件的比对方法的应用环境图;图2为本申请一示例性实施例中提供的json文件的比对方法的流程示意图;图3为本申请一示例性实施例中提供的json文件的比对方法的流程示意图;图4为本申请一示例性实施例中提供的根据校验文件提取两个待比对json文件中的差异字段的流程示意图;图5为本申请一示例性实施例中提供的json文件的比对装置的结构框图;图6为本申请一示例性实施例中提供的json文件的比对装置的结构框图;图7为本申请一示例性实施例中提供的计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。请参考图1,图1为本申请一示例性实施例提供的一种json文件的比对方法的应用环境本文档来自技高网...

【技术保护点】
1.一种json文件的比对方法,所述方法包括:/n获取两个待比对json文件;/n在所述两个待比对json文件中的字段不一致时,根据所述两个待比对文件生成校验文件;/n根据所述校验文件提取所述两个待比对json文件中的差异字段;/n根据所述差异字段生成比对结果。/n

【技术特征摘要】
1.一种json文件的比对方法,所述方法包括:
获取两个待比对json文件;
在所述两个待比对json文件中的字段不一致时,根据所述两个待比对文件生成校验文件;
根据所述校验文件提取所述两个待比对json文件中的差异字段;
根据所述差异字段生成比对结果。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设的忽略规则获取所述两个待比对json文件中的待忽略字段,分别删除两个待比对json文件中的待忽略字段,或者/和,根据预设的替换规则,分别获取两个待比对json文件中的待替换字段,将所述待替换字段替换成所述替换规则中替换字段列表中的目标字段,得到两个中间文件;
根据所述两个中间文件生成所述校验文件。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述两个待比对json文件转换成对应的schema字符串;
比对各个待比对json文件对应的schema字符串;
在两个schema字符串不一致时,确定所述两个待比对json文件中的字段不一致。


4.根据权利要求1所述的方法,其特征在于,所述根据所述两个待比对文件生成校验文件,包括:
将两个待比对json文件分别转换成两个json对象;
分别提取两个json对象中的各个字段的路径标识以及字段信息;
根据所述各个字段的路径标识以及字段信息分别生成两个json对象对应的字段信息列表作为所述校验文件;
所述根据所述校验文件提取所述两个待比对json文件中的差异字段,包括:
提取两个字段信息列表中,相同路径标识对应的字段信息不同的字段作为所述差异字段。


5.根据权利要求1所述的方法,其特征在于,所述根据所述两个待比对文件生成校验文件,包括:
从所述两个待比对json文件中选取一个待比对json文件作为基准文件,另一个待比对json文件作为测试文件;
依据所述基准文件生成schema文件作为所述校验文件,所述schema文件中包含校验规则,所述校验规则中包括所述基准文件中各个字段的字段信息以及全部的必需字段;
所述根据所述校验文件提取所述两个待比对json文件中的...

【专利技术属性】
技术研发人员:于洪涛
申请(专利权)人:广州品唯软件有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1