json diff常用工具对比(排序)

   日期:2024-12-26    作者:cxhsyy 移动:http://ljhr2012.riyuangf.com/mobile/quote/48563.html
背景

在接口测试中,我们会经常通过对比接口的json数据来判断接口是否异常或者变动,常规比较简单的做法是直接将这个json进行文本diff,这样也是比较直观,可以参考之前写的文章,在线diff 。但是接口返回的数据中,列表并不是有序的,所以文本diff也会存在误报。怎么解决这个问题呢,其上网上有很多开源的第三方库可以选择,不需要自己再写复杂的算法逻辑

json diff常用工具对比(排序)

工具介绍

主要有以下几种方式

1、sorted 函数,使用递归进行排序比较。15万行json数据下,耗时为0.2s。结果为true或者false,要输出详细结果,需要自己额外写逻辑。

 

2、deepdiff 第三方库,ignore_order为排序,默认不排序。15万的数据,不排序反而需要8秒,排序结果只需要3.5s左右,有详细结果输出,不需要自己写逻辑,而且还有很多参数可以,比如忽略大小写字母,ignore_string_case=True。数组数据重复参数过滤等

 

deepdiff 参考文档
https://www.cnblogs.com/Neeo/articles/12785493.html

3、json_tools ,没有排序对比,不考虑!同样15万的数据下,不排序对比耗时0.2s

4、jsondiff 跟jsontools 一样,没有排序对比!而且在15万的数据下,直接卡死,弃用

简单的测试数据,15万的json数据由于数据隐私,不对外提供

 
总结

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号