CN111581456A - 一种json字符串对比方法、装置、设备及存储介质 - Google Patents
一种json字符串对比方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111581456A CN111581456A CN202010386835.0A CN202010386835A CN111581456A CN 111581456 A CN111581456 A CN 111581456A CN 202010386835 A CN202010386835 A CN 202010386835A CN 111581456 A CN111581456 A CN 111581456A
- Authority
- CN
- China
- Prior art keywords
- character strings
- json
- compared
- key
- comparison
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 239000003086 colorant Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种JSON字符串对比方法、装置、设备及存储介质,该方法包括:根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各JSON字符串的MD5值;如果存在MD5值不一致的至少两个目标JSON字符串,则将各目标JSON字符串中的键值对按照预设的排列顺序进行排列;按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果;将键值对差异对比结果反馈给所述客户端。本发明实施例提供了一种简单便捷的对比JSON字符串的方法,提高了对比结果的准确性,减少了人工对比JSON字符串带来的时间损耗。
Description
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种JSON字符串对比方法、装置、设备及存储介质。
背景技术
JSON(JavaScript Object Notation,JavaScript对象简谱)是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得JSON成为理想的数据交换语言。在服务端测试过程中经常需要对返回的JSON字符串进行对比,以便于找出其中的差异,判断服务端返回的JSON字符串是否正确。
现有的对比JSON字符串的方案主要有两种,第一种是依靠人工肉眼对比两个JSON字符串;第二种是使用其他已公开的网页对比工具,比如站长工具对JSON字符串进行对比。
但是,当JSON字符串数据量较大时,依靠人工肉眼对比将会耗费大量的时间,而且容易遗漏,对比结果的准确性不高;其次,JSON字符串中的键值对是无序的,服务端每次返回的JSON字符串中的键值对顺序都会改变,键值对顺序改变后的两个SON字符串实质是相同的,由于站长工具只能对文本进行对比,如果两个JSON字符串中的键值对顺序发生改变,站长工具会返回所述两个JSON字符串不一致的对比结论,出现错误的对比结果。
发明内容
本发明实施例提供一种JSON字符串对比方法、装置、设备及存储介质,提高了对比结果的准确性,减少了人工对比JSON字符串带来的时间损耗。
第一方面,本发明实施例提供了一种JSON字符串对比方法,应用于服务器,所述方法包括:
根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值;
如果存在MD5值不一致的至少两个目标JSON字符串,则将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列;
按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果;
将所述键值对差异对比结果反馈给所述客户端。
第二方面,本发明实施例提供了一种JSON字符串对比方法,应用于客户端,所述方法包括:
接收用户输入的至少两个待对比字符串,并将所述至少两个待对比字符串发送至服务器;
接收服务器反馈的与所述至少两个待对比字符串对应的键值对差异对比结果,并将所述对比结果进行展示;
其中,所述对比结果包括所述至少两个待对比字符串的差异点和对比结论。
第三方面,本发明实施例还提供了一种JSON字符串对比装置,应用于服务器,该装置包括:
MD5值计算模块,用于根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值;
键值对排列模块,用于存在MD5值不一致的至少两个目标JSON字符串时,将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列;
键值对对比模块,用于按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果;
对比结果反馈模块,用于将所述键值对差异对比结果反馈给所述客户端。
第四方面,本发明实施例还提供了一种JSON字符串对比装置,应用于客户端,该装置包括:
待对比字符串发送模块,用于接收用户输入的至少两个待对比字符串,并将所述至少两个待对比字符串发送至服务器;
对比结果接收模块,用于接收服务器反馈的与所述至少两个待对比字符串对应的键值对差异对比结果,并将所述对比结果进行展示;
其中,所述对比结果包括所述至少两个待对比字符串的差异点和对比结论。
第五方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的一种JSON字符串对比方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的一种JSON字符串对比方法。
本发明实施例首先根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法分别计算各JSON字符串的MD5值;然后将MD5值不一致的各目标JSON字符串中的键值对按照预设的排列顺序进行排列;最后按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果,将此键值对差异对比结果反馈给客户端。本发明实施例提供了一种简单便捷的对比JSON字符串的方法,提高了对比结果的准确性,减少了人工对比JSON字符串带来的时间损耗。
附图说明
图1是本发明实施例一中的一种JSON字符串对比方法的流程图;
图2a是本发明实施例二中的一种JSON字符串对比方法的流程图;
图2b是本发明实施例二中的两个待对比字符串对比结果的示意图;
图3是本发明实施例三中的一种JSON字符串对比装置的结构图;
图4是本发明实施例四中的一种JSON字符串对比装置的结构图;
图5是本发明实施例五中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种JSON字符串对比方法的流程图,本实施例可适用于接收客户端发送的多个JSON字符串,并将所述多个JSON字符串进行对比的情形,该方法可以由JSON字符串对比装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在统一服务器中,且所述统一服务器能够与所述客户端通信,所述方法具体包括如下步骤:
步骤110、根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值。
在此步骤中,用户在客户端输入至少两个任意格式的待对比字符串后,客户端将所述至少两个待对比字符串发送至服务器,服务器校验所述至少两个待对比字符串是否为JSON格式,具体的校验过程包括:
获取客户端发送的至少两个待对比字符串,并利用Python编程语言中的JSON加载模块加载所述至少两个待对比字符串;
如果所述JSON加载模块对所述至少两个待对比字符串均加载成功,则确定所述至少两个待对比字符串均为待对比JSON字符串,并使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值;如果所述JSON加载模块对任意一个待对比字符串加载不成功,则确定该待对比字符串不是待对比JSON字符串,并返回报错信息给客户端。
在一个具体的实施例中,用户可以在web(world wide web,全球广域网)界面中输入需要对比的至少两个待对比字符串,并点击web界面上的提交按钮,web界面通过HTTP(超文本传输协议,HyperText Transfer Protocol)接口将所述至少两个待对比字符串和对比请求发送至服务器,服务器校验所述至少两个待对比字符串是否为JSON格式,如果是,则使用MD5算法(Message Digest Algorithm MD5,消息摘要算法)分别计算各所述JSON字符串的MD5值,如果不是,则返回对比报错信息给web界面。
步骤120、如果存在MD5值不一致的至少两个目标JSON字符串,则将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列。
通过步骤110计算各所述JSON字符串的MD5值后,对比各所述JSON字符串的MD5值是否一致;如果一致,则返回“一致”作为对比结果给web界面进行展示;其中,如果存在两个JSON字符串中键值对顺序发生改变,但是键值对内容没有改变时,通过步骤110计算的两个JSON字符串的MD5值是一致的。
如果存在MD5值不一致的至少两个JSON字符串,将此JSON字符串作为目标JSON字符串,并将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列,具体的排列方法如下:
获取当前处理的目标JSON字符串中各键值对中的键名,并按照键名中包括的字母的排列顺序,对各所述键值对进行排列;
在此步骤中,获取到当前处理的目标JSON字符串中各键值对中的键名后,首先按照键名的首字母的排列顺序对各所述键值对进行排列,如果存在首字母相同的两个键名,则依次按照键名中包括的剩余各位字母的排列顺序对各所述键值对进行排列。具体的,假设当前处理的目标JSON字符串中存在首字母相同的键名outputCol和operator,按照键名中包括的第二位字母“u”和“p”的排列顺序对与该键名对应的键值对进行排列。
如果在排列过程中,检测到字母顺序完全相同的两个目标键名,则按照键名中包括的数字的排列顺序,对与所述目标键名对应的键值对进行排列。
在此步骤中,如果存在字母顺序完全相同的两个目标键名,例如“outputCol1”和“outputCol2”,则按照键名中包括的数字“1”和“2”的排列顺序,对于该键名对应的键值对进行排列。
步骤130、按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果。
在此步骤中,分别对比两两目标JSON字符串间的键值对差异,查找到两两目标JSON字符串间的键值对差异点,将此差异点和“不一致”的对比结论作为两两目标JSON字符串的键值对差异对比结果。
步骤140、将所述键值对差异对比结果反馈给所述客户端。
在此步骤中,服务器可以通过HTTP接口将所述键值对差异对比结果反馈给web界面。
在此步骤之后,服务器将所述至少两个目标JSON字符串、两两目标JSON字符串的键值对差异对比结果以及对比时间作为对比记录存储至实时搜索引擎Elasticsearch中,以供用户查询所述对比记录。
本发明实施例首先根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法分别计算各JSON字符串的MD5值;然后将MD5值不一致的各目标JSON字符串中的键值对按照预设的排列顺序进行排列;最后按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果,将此键值对差异对比结果反馈给客户端。本发明实施例提供了一种简单便捷的对比JSON字符串的方法,提高了对比结果的准确性,减少了人工对比JSON字符串带来的时间损耗。
实施例二
图2a是本发明实施例二提供的一种JSON字符串对比方法的流程图,本实施例可适用于将用户输入的多个待对比字符串发送至服务器,接收服务器发送的对比结果,并将该对比结果进行展示的情形,该方法可以由JSON字符串对比装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在客户端中,所述客户端能够与所述服务器通信,所述方法具体包括如下步骤:
步骤210、接收用户输入的至少两个待对比字符串,并将所述至少两个待对比字符串发送至服务器。
在一个具体的实施例中,用户可以在web界面(如图2b中提交按钮上方的输入框)中输入至少两个待对比字符串,然后点击web界面上的提交按钮,web界面将所述至少两个待对比字符串和对比请求通过HTTP接口发送至服务器。
步骤220、接收服务器反馈的与所述至少两个待对比字符串对应的键值对差异对比结果,并将所述对比结果进行展示。
在此步骤中,服务器校验所述至少两个待对比字符串是否为JSON格式,如果不是,则返回对比报错信息给客户端,如果是,则使用MD5算法分别计算各所述JSON字符串的MD5值。服务器计算各所述JSON字符串的MD5值后,对比各所述JSON字符串的MD5值是否一致,如果一致,则返回“一致”作为对比结果给客户端进行展示,如果存在MD5值不一致的至少两个JSON字符串,将此JSON字符串作为目标JSON字符串,并将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列,按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果,将此差异对比结果反馈给客户端。其中,所述对比结果包括所述两两目标JSON字符串的键值对的差异点和“不一致”的对比结论。
客户端获取到两两目标JSON字符串的键值对差异对比结果后,将此差异对比结果作为与所述至少两个待对比字符串对应的键值对差异对比结果,所述对比结果包括所述至少两个待对比字符串的差异点和对比结论,然后判断所述对比结果中至少两个待对比字符串的差异点所属的差异种类,比如删除、修改以及新增,选择与所述差异种类对应的字体颜色展示所述至少两个待对比字符串的差异点。具体的,web界面上用于显示对比结果的输出框(如图2b中提交按钮下方的输出框)中,用绿色字体表示新增(如图2b中提交按钮下方的右侧输出框中的“2019040100012”右边的空格部分),黄色字体表示修改(如图2b中提交按钮下方左侧输出框中的“inpotCol”中第一个“o”和右侧输出框中的“inputCol”中的“u”),红色字体表示删除(如图2b中提交按钮下方左侧输出框中的“hive_table1”中的“1”)。具体的展示方式以实际情况进行预设,本实施例对此并不进行限制。
本发明实施例首先接收用户输入的至少两个待对比字符串,并将至少两个待对比字符串发送至服务器;然后接收服务器反馈的与至少两个待对比字符串对应的键值对差异对比结果,并将对比结果进行展示。本发明实施例提供了一种简单便捷的对比JSON字符串的方法,提高了对比结果的准确性,减少了人工对比JSON字符串带来的时间损耗,将JSON字符串间的差异点用不同颜色的字体直观地展示在客户端的显示界面上,方便用户快速获取对比结果,提高了用户的体验感。
实施例三
图3为本发明实施例三提供的一种JSON字符串对比装置的结构图,该装置应用于服务器,包括:MD5值计算模块310、键值对排列模块320、键值对对比模块330和对比结果反馈模块340。
其中,MD5值计算模块310,用于根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值;键值对排列模块320,用于存在MD5值不一致的至少两个目标JSON字符串时,将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列;键值对对比模块330,用于按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果;对比结果反馈模块340,用于将所述键值对差异对比结果反馈给所述客户端。
本发明实施例首先根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法分别计算各JSON字符串的MD5值;然后将MD5值不一致的各目标JSON字符串中的键值对按照预设的排列顺序进行排列;最后按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果,将此键值对差异对比结果反馈给客户端。本发明实施例提供了一种简单便捷的对比JSON字符串的方法,提高了对比结果的准确性,减少了人工对比JSON字符串带来的时间损耗。
在上述各实施例的基础上,MD5值计算模块310,可以包括:
待对比字符串获取单元,用于获取客户端发送的至少两个待对比字符串,并利用Python编程语言中的JSON加载模块加载所述至少两个待对比字符串;
JSON字符串确定模块,用于所述JSON加载模块对所述至少两个待对比字符串均加载成功时,确定所述至少两个待对比字符串均为待对比JSON字符串,并使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值。
键值对排列模块320,可以包括:
字母排列单元,用于获取当前处理的目标JSON字符串中各键值对中的键名,并按照键名中包括的字母的排列顺序,对各所述键值对进行排列;
数字排列单元,用于在排列过程中,检测到字母顺序完全相同的两个目标键名时,按照键名中包括的数字的排列顺序,对与所述目标键名对应的键值对进行排列。
对比结果反馈模块340,可以包括:
对比记录存储单元,用于将所述至少两个目标JSON字符串、两两目标JSON字符串的键值对差异对比结果以及对比时间作为对比记录存储至实时搜索引擎Elasticsearch中,以供用户查询所述对比记录。
本发明实施例所提供的JSON字符串对比装置可执行本发明任意实施例所提供的JSON字符串对比方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种JSON字符串对比装置的结构图,该装置应用于客户端,包括:待对比字符串发送模块410和对比结果接收模块420。
其中,待对比字符串发送模块410,用于接收用户输入的至少两个待对比字符串,并将所述至少两个待对比字符串发送至服务器;对比结果接收模块420,用于接收服务器反馈的与所述至少两个待对比字符串对应的键值对差异对比结果,并将所述对比结果进行展示;其中,所述对比结果包括所述至少两个待对比字符串的差异点和对比结论。
本发明实施例首先接收用户输入的至少两个待对比字符串,并将至少两个待对比字符串发送至服务器;然后接收服务器反馈的与至少两个待对比字符串对应的键值对差异对比结果,并将对比结果进行展示。本发明实施例提供了一种简单便捷的对比JSON字符串的方法,提高了对比结果的准确性,减少了人工对比JSON字符串带来的时间损耗,将JSON字符串间的差异点用不同颜色的字体直观地展示在客户端的显示界面上,方便用户快速获取对比结果,提高了用户的体验感。
在上述各实施例的基础上,对比结果接收模块420,可以包括:
差异点展示单元,用于判断所述对比结果中至少两个待对比字符串的差异点所属的差异种类,选择与所述差异种类对应的字体颜色展示所述至少两个待对比字符串的差异点。
本发明实施例所提供的JSON字符串对比装置可执行本发明任意实施例所提供的JSON字符串对比方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种计算设备的结构示意图,如图5所示,该计算设备包括处理器510、存储器520、输入装置530和输出装置540;计算设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;计算设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中由服务器执行的一种JSON字符串对比方法对应的程序指令/模块(例如,一种JSON字符串对比装置中的MD5值计算模块310、键值对排列模块320、键值对对比模块330和对比结果反馈模块340)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算设备的各种功能应用以及数据处理,即实现上述的一种JSON字符串对比方法。也即,该程序被处理器执行时实现:
根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值;
如果存在MD5值不一致的至少两个目标JSON字符串,则将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列;
按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果;
将所述键值对差异对比结果反馈给所述客户端。
存储器520作为一种计算机可读存储介质,还可用于存储如本发明实施例中由客户端执行的一种JSON字符串对比方法对应的程序指令/模块(例如,一种JSON字符串对比装置中的待对比字符串发送模块410和对比结果接收模块420)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算设备的各种功能应用以及数据处理,即实现上述的一种JSON字符串对比方法。也即,该程序被处理器执行时实现:
接收用户输入的至少两个待对比字符串,并将所述至少两个待对比字符串发送至服务器;
接收服务器反馈的与所述至少两个待对比字符串对应的键值对差异对比结果,并将所述对比结果进行展示;
其中,所述对比结果包括所述至少两个待对比字符串的差异点和对比结论。
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与计算设备的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置540可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述方法。当然,本发明实施例所提供的一种计算机可读存储介质,其可以执行本发明实施例中由服务器执行的一种JSON字符串对比方法中的相关操作。也即,该程序被处理器执行时实现:
根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值;
如果存在MD5值不一致的至少两个目标JSON字符串,则将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列;
按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果;
将所述键值对差异对比结果反馈给所述客户端。
本发明实施例所提供的一种计算机可读存储介质,其还可以执行本发明实施例中由客户端执行的一种JSON字符串对比方法中的相关操作。也即,该程序被处理器执行时实现:
接收用户输入的至少两个待对比字符串,并将所述至少两个待对比字符串发送至服务器;
接收服务器反馈的与所述至少两个待对比字符串对应的键值对差异对比结果,并将所述对比结果进行展示;
其中,所述对比结果包括所述至少两个待对比字符串的差异点和对比结论。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述JSON字符串对比装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
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字符串对比方法,其特征在于,应用于客户端,包括:
接收用户输入的至少两个待对比字符串,并将所述至少两个待对比字符串发送至服务器;
接收服务器反馈的与所述至少两个待对比字符串对应的键值对差异对比结果,并将所述对比结果进行展示;
其中,所述对比结果包括所述至少两个待对比字符串的差异点和对比结论。
6.根据权利要求5所述的方法,其特征在于,将所述对比结果进行展示,包括:
判断所述对比结果中至少两个待对比字符串的差异点所属的差异种类,选择与所述差异种类对应的字体颜色展示所述至少两个待对比字符串的差异点。
7.一种JSON字符串对比装置,其特征在于,应用于服务器,包括:
MD5值计算模块,用于根据客户端发送的至少两个待对比JSON字符串,使用消息摘要算法MD5分别计算各所述JSON字符串的MD5值;
键值对排列模块,用于存在MD5值不一致的至少两个目标JSON字符串时,将各所述目标JSON字符串中的键值对按照预设的排列顺序进行排列;
键值对对比模块,用于按照键值对的排列顺序,分别对比两两目标JSON字符串间的键值对差异,并生成两两目标JSON字符串的键值对差异对比结果;
对比结果反馈模块,用于将所述键值对差异对比结果反馈给所述客户端。
8.一种JSON字符串对比装置,其特征在于,应用于客户端,包括:
待对比字符串发送模块,用于接收用户输入的至少两个待对比字符串,并将所述至少两个待对比字符串发送至服务器;
对比结果接收模块,用于接收服务器反馈的与所述至少两个待对比字符串对应的键值对差异对比结果,并将所述对比结果进行展示;
其中,所述对比结果包括所述至少两个待对比字符串的差异点和对比结论。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的一种JSON字符串对比方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的一种JSON字符串对比方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010386835.0A CN111581456A (zh) | 2020-05-09 | 2020-05-09 | 一种json字符串对比方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010386835.0A CN111581456A (zh) | 2020-05-09 | 2020-05-09 | 一种json字符串对比方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111581456A true CN111581456A (zh) | 2020-08-25 |
Family
ID=72118598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010386835.0A Pending CN111581456A (zh) | 2020-05-09 | 2020-05-09 | 一种json字符串对比方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581456A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199935A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
CN112817602A (zh) * | 2021-02-26 | 2021-05-18 | 青岛海信网络科技股份有限公司 | 一种json格式数据发送、接收方法、设备及介质 |
CN113190220A (zh) * | 2021-06-30 | 2021-07-30 | 南京冰鉴信息科技有限公司 | Json文件差异化对比方法及装置 |
CN116910631A (zh) * | 2023-09-14 | 2023-10-20 | 深圳市智慧城市科技发展集团有限公司 | 数组对比方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136678A (zh) * | 2013-03-04 | 2013-06-05 | 北京奇虎科技有限公司 | 智能终端的识别方法及装置、识别信息的处理方法及装置、识别系统 |
CN105868050A (zh) * | 2015-12-29 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 基于json数据的验证方法及装置 |
CN108021952A (zh) * | 2017-12-29 | 2018-05-11 | 广州品唯软件有限公司 | 一种多格式文本对比方法及装置 |
CN108073391A (zh) * | 2016-11-11 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种json字符串传输、处理的方法及设备 |
CN108733689A (zh) * | 2017-04-18 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种json文本的比对方法和装置 |
-
2020
- 2020-05-09 CN CN202010386835.0A patent/CN111581456A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136678A (zh) * | 2013-03-04 | 2013-06-05 | 北京奇虎科技有限公司 | 智能终端的识别方法及装置、识别信息的处理方法及装置、识别系统 |
CN105868050A (zh) * | 2015-12-29 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 基于json数据的验证方法及装置 |
CN108073391A (zh) * | 2016-11-11 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种json字符串传输、处理的方法及设备 |
CN108733689A (zh) * | 2017-04-18 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种json文本的比对方法和装置 |
CN108021952A (zh) * | 2017-12-29 | 2018-05-11 | 广州品唯软件有限公司 | 一种多格式文本对比方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199935A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
CN112199935B (zh) * | 2020-09-24 | 2023-05-26 | 建信金融科技有限责任公司 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
CN112817602A (zh) * | 2021-02-26 | 2021-05-18 | 青岛海信网络科技股份有限公司 | 一种json格式数据发送、接收方法、设备及介质 |
CN112817602B (zh) * | 2021-02-26 | 2024-04-23 | 青岛海信网络科技股份有限公司 | 一种json格式数据发送、接收方法、设备及介质 |
CN113190220A (zh) * | 2021-06-30 | 2021-07-30 | 南京冰鉴信息科技有限公司 | Json文件差异化对比方法及装置 |
CN116910631A (zh) * | 2023-09-14 | 2023-10-20 | 深圳市智慧城市科技发展集团有限公司 | 数组对比方法、装置、电子设备及可读存储介质 |
CN116910631B (zh) * | 2023-09-14 | 2024-01-05 | 深圳市智慧城市科技发展集团有限公司 | 数组对比方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581456A (zh) | 一种json字符串对比方法、装置、设备及存储介质 | |
CN109359028B (zh) | 代码质量监控方法、装置、计算机设备及存储介质 | |
US20210318851A1 (en) | Systems and Methods for Dataset Merging using Flow Structures | |
US20190197068A1 (en) | Page rendering method, device, and data storage medium | |
CN111666401B (zh) | 基于图结构的公文推荐方法、装置、计算机设备及介质 | |
US11126614B2 (en) | Log query user interface | |
US20190050376A1 (en) | Automatic value formatting based on intrinsic structural semantics | |
US20150089415A1 (en) | Method of processing big data, apparatus performing the same and storage media storing the same | |
US11481450B2 (en) | Interactive and non-interactive execution and rendering of templates to automate control and exploration across systems | |
CN112487072B (zh) | 电子元器件的参数结构标准化方法、装置、系统及介质 | |
US10643022B2 (en) | PDF extraction with text-based key | |
CN109241009A (zh) | 防止文件重复上传的方法及其控制方法及装置 | |
CN115935035A (zh) | Rpa流程可视化管理方法、装置、设备及可读存储介质 | |
US10459942B1 (en) | Sampling for preprocessing big data based on features of transformation results | |
EP3901761A2 (en) | Method, apparatus, and electronic device for processing visual data of deep model | |
CN114518881A (zh) | 一种页面生成方法、系统及存储介质 | |
CN112596723B (zh) | 数据库脚本生成方法、装置、设备及介质 | |
CN104657248A (zh) | Java线程堆栈分析方法及系统 | |
CN111026972B (zh) | 物联网中的订阅数据推送方法、装置、设备及存储介质 | |
CN110851173B (zh) | 报表生成方法及装置 | |
CN116069202A (zh) | 经营情况雷达图处理方法及装置 | |
CN115687717A (zh) | Grok表达式获取方法、装置、设备及计算机可读存储介质 | |
JP2017111500A (ja) | 文字認識装置及びプログラム | |
CN114385398A (zh) | 一种请求响应状态确定方法、装置、设备和存储介质 | |
CN113505069A (zh) | 一种测试数据分析方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200825 |