CN116701187A - 一种json数据的校验方法及装置 - Google Patents
一种json数据的校验方法及装置 Download PDFInfo
- Publication number
- CN116701187A CN116701187A CN202310579403.5A CN202310579403A CN116701187A CN 116701187 A CN116701187 A CN 116701187A CN 202310579403 A CN202310579403 A CN 202310579403A CN 116701187 A CN116701187 A CN 116701187A
- Authority
- CN
- China
- Prior art keywords
- data
- format
- json
- expected
- detected
- 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 49
- 238000013524 data verification Methods 0.000 title abstract description 17
- 238000012795 verification Methods 0.000 claims abstract description 81
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007493 shaping process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种JSON数据的校验方法及装置。在该方法中,接收校验请求,校验请求包括预期数据和被测数据;对预期数据进行格式化,得到JSON格式的预期数据;对被测数据进行格式化,得到JSON格式的被测数据;根据预设的校验规则和JSON格式的预期数据对JSON格式的被测数据进行校验,得到JSON格式的被测数据的校验结果,所述校验结果包括格式校验结果和内容校验结果。由此可见,利用本申请实施例提供的方案,通过对JSON数据的格式和内容进行自动化校验得到内容校验结果和格式校验结果,避免通过人力对JSON数据的内容进行逐一验证,从而提高JSON数据的校验效率,降低人力投入。
Description
技术领域
本申请涉及软件测试领域领域,尤其涉及一种JSON数据的校验方法及装置。
背景技术
网络接口在进行请求参数或者返回参数时,参数的格式通常使用JSON格式的数据格式,现有技术中都只是针对JSON数据的格式进行校验,而对于JSON数据的内容的校验只能通过技术人员进行逐一验证,需要投入的人力大,从而导致对于JSON格式的校验效率低。
发明内容
本申请实施例提供了一种JSON数据的校验及装置,可以解决JSON格式的校验效率低的问题。
本申请第一方面提供了一种JSON数据的校验方法,应用于网页服务端,包括:
接收校验请求,所述校验请求包括预期数据和被测数据;
对所述预期数据进行格式化,得到JSON格式的预期数据;
对所述被测数据进行格式化,得到JSON格式的被测数据;
根据预设的校验规则和所述JSON格式的预期数据对所述JSON格式的被测数据进行校验,得到所述JSON格式的被测数据的校验结果,所述校验结果包括格式校验结果和内容校验结果。
可选地,根据预设的校验规则和所述JSON格式的预期数据对所述JSON格式的被测数据进行校验,包括:
解析所述JSON格式的预期数据,得到预期数据格式;
若所述JSON格式的被测数据的被测数据格式与所述预期数据格式相同,则获取所述JSON格式的被测数据的被测字段值;
根据所述预设的校验规则对所述被测字段值进行校验。
可选地,所述数据格式包括字典、列表和键值对;所述方法,还包括:
若所述预期数据格式为字典、列表或键值对,且所述被测数据格式与所述预期数据格式相同,则获取所述JSON格式的被测数据的被测字段值,并返回执行所述解析所述JSON格式的预期数据步骤。
可选地,所述数据格式包括具体值,所述方法,还包括:
若所述JSON格式的预期数据的预期数据格式为具体值,且所述被测数据格式与所述预期数据格式相同,则根据预设的校验规则对所述被测字段值进行校验。
可选地,所述方法,还包括:
若所述被测数据格式与所述预期数据格式不相同,则确定所述JSON格式的被测数据的校验结果为格式错误。
可选地,所述预设的校验规则对所述被测字段值进行校验,包括:
获取所述JSON格式的预期数据的预期字段和预期字段值;
获取所述JSON格式的被测数据的被测字段和被测字段值;
若所述被测字段和预期字段存在,则根据预设的校验规则和所述预期字段值对所述被测字段值进行校验。
可选地,所述方法,还包括:
若所述被测字段和预期字段不存在,则确定所述JSON格式的被测数据的校验结果为字段不存在。
本申请第二方面提供了一种JSON数据的校验装置,应用于网页服务端,包括:
接收单元,用于接收校验请求,所述校验请求包括预期数据和被测数据;
格式化单元,用于对所述预期数据进行格式化,得到JSON格式的预期数据;
所述格式化单元,还用于对所述被测数据进行格式化,得到JSON格式的被测数据;
校验单元,用于根据预设的校验规则和所述JSON格式的预期数据对所述JSON格式的被测数据进行校验,得到所述JSON格式的被测数据的校验结果,所述校验结果包括格式校验结果和内容校验结果。
可选地,所述校验单元,具体用于:
解析所述JSON格式的预期数据,得到预期数据格式;
若所述JSON格式的被测数据的被测数据格式与所述预期数据格式相同,则获取所述JSON格式的被测数据的被测字段值;
根据所述预设的校验规则对所述被测字段值进行校验。
可选地,所述校验单元,具体用于:
若所述被测数据格式与所述预期数据格式不相同,则确定所述JSON格式的被测数据的校验结果为格式错误。
本申请实施例公开了一种JSON数据的校验方法及装置。在该方法中,接收校验请求,校验请求包括预期数据和被测数据;对预期数据进行格式化,得到JSON格式的预期数据;对被测数据进行格式化,得到JSON格式的被测数据;根据预设的校验规则和JSON格式的预期数据对JSON格式的被测数据进行校验,得到JSON格式的被测数据的校验结果,所述校验结果包括格式校验结果和内容校验结果。由此可见,利用本申请实施例提供的方案,通过对JSON数据的格式和内容进行自动化校验得到内容校验结果和格式校验结果,避免通过人力对JSON数据的内容进行逐一验证,从而提高JSON数据的校验效率,降低人力投入。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种JSON数据的校验方法的流程示意图;
图2为本申请实施例提供的另一种JSON数据的校验方法的流程示意图;
图3为本申请实施例提供的一种字段和字段值的校验方法的流程示意图;
图4为本申请实施例提供的一种JSON数据的校验装置的结构示意图。
具体实施方式
本申请实施例提供了一种JSON数据的校验方法及装置,用于解决JSON格式的校验效率低的问题。
为方便理解,首先对本申请实施例的应用场景进行介绍。
JS对象简谱(JavaScript Object Notation,JSON)是一种轻量级的数据交换格式。它是基于欧洲计算机协会制定的js规范(European Computer ManufacturersAssociation,ECMAScript)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
在现有技术的JSON开源校验框架中,python开源api JSONpath为了方便快速取值,只能针对某一个具体的值进行校验;而python开源api JSONschema是基于JSON格式,用于定义JSON数据结构以及校验JSON数据内容,并无法实现对JSON数据的内容的校验。因此,对于JSON数据的内容的校验只能通过技术人员进行逐一验证,如果通过人力去检查JSON数据的内容,需要逐个字段去验证,一个JSON数据中可能有上百个字段,人力检查可能半天才能完成一个字段的验证,因此需要投入的人力大,校验效率极低。
参见图1,该图为本申请实施例提供的一种JSON数据的校验方法的流程示意图。本申请实施例提供的JSON数据的校验方法,例如可以通过如下步骤S101-S103实现。
S101:接收校验请求。
在本申请实施例中,通过构建一个web接口,web服务端通过web接口接收校验请求,其中,校验请求以http的post方式上传到web服务端中,校验请求中包含预期数据和被测数据。
S102:对预期数据和被测数据进行格式化。
在本申请实施例中,web服务端接收到校验请求后,先将预期数据和被测数据进行格式化,得到对应的JSON格式的预期数据和JSON格式的被测数据。
以下为预期数据的格式的代码示例:
以下为被测数据的格式的代码示例:
S103:根据预设的校验规则和JSON格式的预期数据对JSON格式的被测数据进行校验。
在本申请实施例中,解析JSON格式的预期数据,得到预期数据格式;若JSON格式的被测数据的被测数据格式与预期数据格式相同,则获取JSON格式的被测数据的被测字段值;根据预设的校验规则对所述被测字段值进行校验。
在本申请实施例的一种实现方式中,若被测数据格式与预期数据格式不相同,则直接输出校验结果,确定JSON格式的被测数据的校验结果为格式错误,不再对JSON格式的被测数据的内容进行校验。
在本申请实施例的一种实现方式中,数据格式包括字典、列表和键值对,若预期数据格式为字典、列表或键值对,且被测数据格式与预期数据格式相同,则获取JSON格式的被测数据的被测字段值,并返回执行解析JSON格式的预期数据步骤。
由于JSON格式的数据具有多个深度,并且在校验时不确定深度(有的只有一层、有的可能有四层、五层等),对于这种情况,本申请实施例运用递归函数,不断的调用自身去解析深度,直到达到跳出条件终止递归,本申请实施例中停止递归的条件为预期数据的字段值为非字典、列表、键值对,而是具体值(即具体字段值)的时候跳出递归,进行字段值的校验。
具体的,当预期数据格式为字典时,若JSON格式的被测数据中存在与JSON格式的预期数据相对应的字段,则获取被测数据格式;若被测数据格式为字典,则获取字典中每一个字段值后,调用递归函数继续进行数据格式的校验;若JSON格式的被测数据中不存在与JSON格式的预期数据相对应的字段,则返回校验结果为字段不存在;若被测数据格式不是字典,则返回校验结果为格式不正确。
当预期数据格式为列表时,若JSON格式的被测数据中存在与JSON格式的预期数据相对应的字段,则获取被测数据格式;若被测数据格式为列表,则获取列表中每一个元素后,调用递归函数继续进行数据格式的校验;若JSON格式的被测数据中不存在与JSON格式的预期数据相对应的字段,则返回校验结果为字段不存在;若被测数据格式不是字典,则返回校验结果为格式不正确。
当预期数据格式为键值对时,若JSON格式的被测数据中存在与JSON格式的预期数据相对应的字段,则获取被测数据格式;若被测数据格式为键值对,则解析键值对为字段格式,获取字典中每一个字段值后,调用递归函数继续进行数据格式的校验;若JSON格式的被测数据中不存在与JSON格式的预期数据相对应的字段,则返回校验结果为字段不存在;若被测数据格式不是字典,则返回校验结果为格式不正确。
当预期数据格式为具体值时,若JSON格式的被测数据中存在与JSON格式的预期数据相对应的字段,则进行字段和字段值的校验;若JSON格式的被测数据中不存在与JSON格式的预期数据相对应的字段,则返回校验结果为字段不存在。
以下为被测数据的校验结果为字段不存在的代码示例:
在本申请实施例的一种实现方式中,若JSON格式的预期数据的预期数据格式为具体值,且被测数据格式与预期数据格式相同,则根据预设的校验规则对所述被测字段值进行校验,其中被测字段值即为被测数据的内容。
在本申请实施例的一种实现方式中,获取JSON格式的预期数据的预期字段和预期字段值;获取JSON格式的被测数据的被测字段和被测字段值;若被测字段和预期字段存在,则根据预设的校验规则和预期字段值对被测字段值进行校验。若被测字段和预期字段不存在,则确定JSON格式的被测数据的校验结果为字段不存在,即格式校验结果为通过,内容校验结果为字段不存在。
可选的,在本申请的另一实施例中,如图2所示,该图为本申请实施例提供的一种JSON数据的校验方法的流程示意图,JSON数据的校验方法具体包括:
开始JSON数据的校验流程。
发起校验请求,web服务端通过校验请求获取预期数据JSON1(下文预期数据用JSON1表示)和被测数据JSON2(下文被测数据用JSON2表示)。
由于JSON中包含多层字典和列表的嵌套,需要使用递归算法来不断的调用自身来实现多层次JSON结构数据的解析;获取JSON1和JSON2后先格式化成JSON格式的数据;将JSON格式的JSON1和JSON2传入递归函数check中开始进行校验。
判断JSON1数据的数据格式,其中,数据格式包括字典(dict)、列表(list)、键值对(a=1&b=2)和具体值;
如果JSON1是字典,则判断JSON2中该字段是否存在;若JSON2中不存在该字段,则直接返回校验结果为字段不存在;若JSON2中存在该字段,且JSON2为字典格式,则获取字典中每一个字段值后递归调用check继续进行校验;若JSON2不是字典格式,则返回校验结果为格式不正确;
如果JSON1是列表,则判断JSON2中该字段是否存在;若JSON2中不存在该字段,则直接返回校验结果为字段不存在;若JSON2中存在该字段,且JSON2为列表格式,则获取列表中每一个元素后递归调用check继续进行校验;若JSON2不是列表格式,则返回校验结果为格式不正确;
如果JSON1是键值对,则判断JSON2中该字段是否存在;若JSON2中不存在该字段,则直接返回校验结果为字段不存在;若JSON2中存在该字段,且JSON2为键值对格式,则解析键值对为字典格式后获取每一个字段值继续递归调用check继续进行校验;若JSON2不是键值对格式,则返回校验结果为格式不正确;
如果JSON1是具体值,判断JSON2中该字段是否存在,不存在直接返回校验结果为字段不存在,如果存在则进行字段和字段值的验证。
对字段和字段值进行对比验证,并记录对比结果。
结束JSON数据的校验流程。
以下为一种JSON数据的校验的代码示例:
键值对、字典、列表处理函数:
可选的,在本申请的另一实施例中,如图3所示,该图为本申请实施例提供的一种字段和字段值的校验方法的流程示意图,字段和字段值的校验方法具体包括:
开始字段和字段值的校验的校验流程;
获取预期字段和字段值信息;
获取被测字段和字段值信息;
判断预期字段和被测字段是否都存在,当预期字段和/或被测字段不存在时,则返回校验结果为字段不存在,当预期字段和被测字段都存在时,则进行对应的字段值验证,字段值验证需要考虑不同的情况,如:
当预期数据JSON1中字段值为空,则表明不验证对应被测数据JSON2的字段值;
当预期数据JSON1中字段值为‘defect’,则表明该字段不校验,即被测数据不管是否有这个字段都为通过;
当预期数据JSON1中字段值为‘10000’,被测数据字段值有值即为通过;
当预期数据JSON1中字段值为‘YMDHms’,被测数据字段值为日期格式即为通过;
当预期数据JSON1中字段值为‘change_13’,被测数据字段值字符串长度小于13(需要说明的是,字符串长度根据实际需求进行设定,本申请实施例中的13仅为示例);
当预期数据JSON1中字段值为‘regular_abc’,被测数据字段值字符串正则匹配abc(abc为预先设定的正则表达式);
当预期数据JSON1中字段值为‘size_0_32’,被测数据字段值字符串转换成整形数据(int)类型后应该大于0小于32(需要说明的是,整型数据的范围根据实际需求进行设定,本申请实施例中的大于0小于32仅为示例);
当预期数据JSON1中字段值为‘nul’,被测数据字段值必须为空即为通过;
当预期数据JSON1中字段值为‘dataType_int’,被测数据字段值是整形(int)类型是,被测数据的内容校验结果即为通过;
当预期数据JSON1非以上情况,则直接进行字符对比,被测数据字符串与预期数据字符串一致即为通过;
最后记录对比结果后,结束字段和字段值的校验流程。
以下为字段值对比函数的代码示例:
/>
/>
本申请实施例公开了一种JSON数据的校验方法。在该方法中,接收校验请求,校验请求包括预期数据和被测数据;对预期数据进行格式化,得到JSON格式的预期数据;对被测数据进行格式化,得到JSON格式的被测数据;根据预设的校验规则和JSON格式的预期数据对JSON格式的被测数据进行校验,得到JSON格式的被测数据的校验结果,所述校验结果包括格式校验结果和内容校验结果。由此可见,利用本申请实施例提供的方案,通过对JSON数据的格式和内容进行自动化校验得到内容校验结果和格式校验结果,避免通过人力对JSON数据的内容进行逐一验证,从而提高JSON数据的校验效率,降低人力投入。
基于以上实施例提供的方法,本申请实施例还提供了一种JSON数据的校验装置,以下结合附图介绍该JSON数据的校验装置。
参见图3,该图为本申请实施例提供的一种JSON数据的校验装置的结构示意图。
本申请实施例提供的JSON数据的校验装置400,包括:接收单元401、格式化单元402和校验单元403。
接收单元401,用于接收校验请求,校验请求包括预期数据和被测数据;
格式化单元402,用于对预期数据进行格式化,得到JSON格式的预期数据;
格式化单元402,还用于对被测数据进行格式化,得到JSON格式的被测数据;
校验单元403,用于根据预设的校验规则和JSON格式的预期数据对JSON格式的被测数据进行校验,得到JSON格式的被测数据的校验结果,校验结果包括格式校验结果和内容校验结果。
在一种可能的实现方式中,校验单元403,具体用于:
解析JSON格式的预期数据,得到预期数据格式;
若JSON格式的被测数据的被测数据格式与预期数据格式相同,则获取JSON格式的被测数据的被测字段值;
根据预设的校验规则对被测字段值进行校验。
在一种可能的实现方式中,数据格式包括字典、列表和键值对,校验单元403,具体用于:
若预期数据格式为字典、列表或键值对,且被测数据格式与预期数据格式相同,则获取JSON格式的被测数据的被测字段值,并返回执行解析JSON格式的预期数据步骤。
在一种可能的实现方式中,数据格式包括具体值,校验单元403,具体用于:
若JSON格式的预期数据的预期数据格式为具体值,且被测数据格式与预期数据格式相同,则根据预设的校验规则对被测字段值进行校验。
在一种可能的实现方式中,校验单元403,具体用于:
若被测数据格式与预期数据格式不相同,则确定JSON格式的被测数据的校验结果为格式错误。
在一种可能的实现方式中,校验单元403,具体用于:
获取JSON格式的预期数据的预期字段和预期字段值;
获取JSON格式的被测数据的被测字段和被测字段值;
若被测字段和预期字段存在,则根据预设的校验规则和预期字段值对被测字段值进行校验。
在一种可能的实现方式中,校验单元403,具体用于:
若被测字段和预期字段不存在,则确定JSON格式的被测数据的校验结果为字段不存在。
由于装置400是与以上方法实施例提供的一种JSON数据的校验方法对应的装置,装置400的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于装置400的各个单元的具体实现,可以参考以上方法实施例关于JSON数据的校验方法的描述部分,此处不再赘述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种JSON数据的校验方法,其特征在于,应用于网页服务端,所述方法包括:
接收校验请求,所述校验请求包括预期数据和被测数据;
对所述预期数据进行格式化,得到JSON格式的预期数据;
对所述被测数据进行格式化,得到JSON格式的被测数据;
根据预设的校验规则和所述JSON格式的预期数据对所述JSON格式的被测数据进行校验,得到所述JSON格式的被测数据的校验结果,所述校验结果包括格式校验结果和内容校验结果。
2.根据权利要求1所述的方法,其特征在于,根据预设的校验规则和所述JSON格式的预期数据对所述JSON格式的被测数据进行校验,包括:
解析所述JSON格式的预期数据,得到预期数据格式;
若所述JSON格式的被测数据的被测数据格式与所述预期数据格式相同,则获取所述JSON格式的被测数据的被测字段值;
根据所述预设的校验规则对所述被测字段值进行校验。
3.根据权利要求2所述的方法,其特征在于,所述数据格式包括字典、列表和键值对;所述方法,还包括:
若所述预期数据格式为字典、列表或键值对,且所述被测数据格式与所述预期数据格式相同,则获取所述JSON格式的被测数据的被测字段值,并返回执行所述解析所述JSON格式的预期数据步骤。
4.根据权利要求2所述的方法,其特征在于,所述数据格式包括具体值,所述方法,还包括:
若所述JSON格式的预期数据的预期数据格式为具体值,且所述被测数据格式与所述预期数据格式相同,则根据预设的校验规则对所述被测字段值进行校验。
5.根据权利要求2所述的方法,其特征在于,所述方法,还包括:
若所述被测数据格式与所述预期数据格式不相同,则确定所述JSON格式的被测数据的校验结果为格式错误。
6.根据权利要求4所述的方法,其特征在于,所述预设的校验规则对所述被测字段值进行校验,包括:
获取所述JSON格式的预期数据的预期字段和预期字段值;
获取所述JSON格式的被测数据的被测字段和被测字段值;
若所述被测字段和预期字段存在,则根据预设的校验规则和所述预期字段值对所述被测字段值进行校验。
7.根据权利要求6所述的方法,其特征在于,所述方法,还包括:
若所述被测字段和预期字段不存在,则确定所述JSON格式的被测数据的校验结果为字段不存在。
8.一种JSON数据的校验装置,应用于网页服务端,其特征在于,所述装置包括:
接收单元,用于接收校验请求,所述校验请求包括预期数据和被测数据;
格式化单元,用于对所述预期数据进行格式化,得到JSON格式的预期数据;
所述格式化单元,还用于对所述被测数据进行格式化,得到JSON格式的被测数据;
校验单元,用于根据预设的校验规则和所述JSON格式的预期数据对所述JSON格式的被测数据进行校验,得到所述JSON格式的被测数据的校验结果,所述校验结果包括格式校验结果和内容校验结果。
9.根据权利要求8所述的装置,其特征在于,所述校验单元,具体用于:
解析所述JSON格式的预期数据,得到预期数据格式;
若所述JSON格式的被测数据的被测数据格式与所述预期数据格式相同,则获取所述JSON格式的被测数据的被测字段值;
根据所述预设的校验规则对所述被测字段值进行校验。
10.根据权利要求9所述的装置,其特征在于,所述校验单元,具体用于:
若所述被测数据格式与所述预期数据格式不相同,则确定所述JSON格式的被测数据的校验结果为格式错误。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310579403.5A CN116701187A (zh) | 2023-05-22 | 2023-05-22 | 一种json数据的校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310579403.5A CN116701187A (zh) | 2023-05-22 | 2023-05-22 | 一种json数据的校验方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701187A true CN116701187A (zh) | 2023-09-05 |
Family
ID=87842459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310579403.5A Pending CN116701187A (zh) | 2023-05-22 | 2023-05-22 | 一种json数据的校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701187A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493162A (zh) * | 2023-12-19 | 2024-02-02 | 易方达基金管理有限公司 | 一种接口测试的数据校验方法、系统、设备及存储介质 |
-
2023
- 2023-05-22 CN CN202310579403.5A patent/CN116701187A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493162A (zh) * | 2023-12-19 | 2024-02-02 | 易方达基金管理有限公司 | 一种接口测试的数据校验方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101755365B1 (ko) | 레코드 포맷 정보의 관리 | |
CN107122258A (zh) | 用于测试接口的状态码校验的方法及设备 | |
CN111552633A (zh) | 接口的异常调用测试方法、装置、计算机设备及存储介质 | |
CN111506608B (zh) | 一种结构化文本的比较方法和装置 | |
KR20190095099A (ko) | 거래 시스템 에러 검출 방법, 장치, 저장 매체 및 컴퓨터 장치 | |
CN109614327B (zh) | 用于输出信息的方法和装置 | |
US9971903B2 (en) | Masking of different content types | |
CN115118582B (zh) | 日志分析的方法和装置 | |
CN108809896A (zh) | 一种信息校验方法、装置和电子设备 | |
CN111639023B (zh) | 基于用户操作时序图的测试用例生成方法和装置 | |
KR20100069147A (ko) | 웹사이트 품질 테스트 방법 및 시스템 | |
CN116701187A (zh) | 一种json数据的校验方法及装置 | |
CN114338850B (zh) | 报文核对方法、装置、终端设备及计算机可读存储介质 | |
US20140337069A1 (en) | Deriving business transactions from web logs | |
CN110727759A (zh) | 一种确定语音信息的主题的方法和装置 | |
CN111752847A (zh) | 接口比对方法和微服务器、计算机可读存储介质、电子设备 | |
KR101088054B1 (ko) | 전문 기반 통신 시스템을 테스트하는 시스템 및 방법 | |
CN110109809B (zh) | 根据syslog测试日志审计功能的方法及设备 | |
CN112131091B (zh) | 一种测试方法、装置及电子设备 | |
CN112445461B (zh) | 一种业务规则生成方法、装置、电子设备和可读存储介质 | |
CN117391868A (zh) | 保单处理方法、装置、计算机设备及存储介质 | |
WO2019019674A1 (zh) | 网页错误信息处理方法、装置、计算机设备和存储介质 | |
KR102245718B1 (ko) | 이상치 발생 여부를 속성별로 시각화하는 방법, 컴퓨팅 디바이스 및 컴퓨터 판독 가능한 저장 매체 | |
CN115248778A (zh) | 一种代码检验方法及装置 | |
CN111158746B (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 |