一种JSON字符串对比方法、装置、设备及存储介质制造方法及图纸

技术编号:25396965 阅读:31 留言:0更新日期:2020-08-25 23:02
本发明专利技术公开了一种JSON字符串对比方法、装置、设备及存储介质,该方法包括:根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各JSON字符串的MD5值;如果存在MD5值不一致的至少两个目标JSON字符串,则将各目标JSON字符串中的键值对按照预设的排列顺序进行排列;按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果;将键值对差异对比结果反馈给所述客户端。本发明专利技术实施例提供了一种简单便捷的对比JSON字符串的方法,提高了对比结果的准确性,减少了人工对比JSON字符串带来的时间损耗。

【技术实现步骤摘要】
一种JSON字符串对比方法、装置、设备及存储介质
本专利技术实施例涉及数据处理技术,尤其涉及一种JSON字符串对比方法、装置、设备及存储介质。
技术介绍
JSON(JavaScriptObjectNotation,JavaScript对象简谱)是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得JSON成为理想的数据交换语言。在服务端测试过程中经常需要对返回的JSON字符串进行对比,以便于找出其中的差异,判断服务端返回的JSON字符串是否正确。现有的对比JSON字符串的方案主要有两种,第一种是依靠人工肉眼对比两个JSON字符串;第二种是使用其他已公开的网页对比工具,比如站长工具对JSON字符串进行对比。但是,当JSON字符串数据量较大时,依靠人工肉眼对比将会耗费大量的时间,而且容易遗漏,对比结果的准确性不高;其次,JSON字符串中的键值对是无序的,服务端每次返回的JSON字符串中的键值对顺序都会改变,键值对顺序改变后的两个SON字符串实质是相同的,由于站长工具只能对文本进行对比,本文档来自技高网...

【技术保护点】
1.一种JSON字符串对比方法,其特征在于,应用于服务器,包括:/n根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值;/n如果存在MD5值不一致的至少两个目标JSON字符串,则将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列;/n按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果;/n将所述键值对差异对比结果反馈给所述客户端。/n

【技术特征摘要】
1.一种JSON字符串对比方法,其特征在于,应用于服务器,包括:
根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值;
如果存在MD5值不一致的至少两个目标JSON字符串,则将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列;
按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果;
将所述键值对差异对比结果反馈给所述客户端。


2.根据权利要求1所述的方法,其特征在于,根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值,包括:
获取客户端发送的至少两个待对比字符串,并利用Python编程语言中的JSON加载模块加载所述至少两个待对比字符串;
如果所述JSON加载模块对所述至少两个待对比字符串均加载成功,则确定所述至少两个待对比字符串均为待对比JSON字符串,并使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值。


3.根据权利要求1所述的方法,其特征在于,将所述目标JSON字符串中的键值对按照预设的排列顺序进行排列,包括:
获取当前处理的目标JSON字符串中各键值对中的键名,并按照键名中包括的字母的排列顺序,对各所述键值对进行排列;
如果在排列过程中,检测到字母顺序完全相同的两个目标键名,则按照键名中包括的数字的排列顺序,对与所述目标键名对应的键值对进行排列。


4.根据权利要求1所述的方法,其特征在于,在将所述键值对差异对比结果反馈给所述客户端之后,还包括:
将所述至少两个目标JSON字符串、两两目标JSON字符串的键值对差异对比结果以及对比时间作为对比记录存储至实时搜索引擎Elasticsearch中,以供用户查询所述对比记录。


5.一种JSON字符串对比方法,其特征在于,应用于客户端,包括:
接收用户输入的至少两个待对比字符串,并将所述至少两个待对比字符串发送至服务器;

【专利技术属性】
技术研发人员:万伟
申请(专利权)人:深圳市卡数科技有限公司
类型:发明
国别省市:广东;44

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

1