数据校验方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:25834346 阅读:25 留言:0更新日期:2020-10-02 14:15
本申请涉及软件开发技术领域,具体涉及一种数据校验方法、装置、计算机设备和存储介质。所述方法包括:在检测到接收到的数据为JSON数据时,根据接收到的JSON数据得到包含N个待校验节点的树结构数据;确定与该接收到的JSON数据的业务标识对应的规则描述数据,规则描述数据是包含M个规则节点的树结构数据,M个规则节点中有K个规则描述节点,规则描述节点是对应有数据校验规则的规则节点,使用各个规则描述节点对应的数据校验规则对该各个规则描述节点对应的待校验节点的节点数据进行校验。本发明专利技术实施例能够提高开发人员实现对JSON数据进行校验的功能的开发效率,并且能够实现对JSON数据进行简单校验和复杂校验。

【技术实现步骤摘要】
数据校验方法、装置、计算机设备和存储介质
本申请涉及软件开发
,特别是涉及一种数据校验方法、装置、计算机设备和存储介质。
技术介绍
JSON(JavaScriptObjectNotation,JS对象简谱)是一种常用的数据交换格式,应用场景很广泛,比如web场景中的很多数据接口返回的数据都是JSON数据。在JavaWeb软件开发过程中,为了实现对JSON数据进行校验的功能,一种方式是人工手工解析出JSON数据中的各字段并对各字段进行校验;另一种方式是使用JSONSchema描述文件对JSON数据进行校验。上述第一种方式的不足是开发过程复杂,开发人员必须事先清楚的知道被校验节点的路径才能编写代码,并且硬代码编写没有扩展性;第二种方式的不足是Schema描述文件庞大复杂,文件体积基本是被校验的JSON数据的三倍以上,而且通过Schema描述文件只能实现对JSON数据进行简单校验如正则校验,而无法对JSON数据进行复杂的校验,比如业务数据校验或逻辑校验等校验方式。
技术实现思路
本专利技术针对现有技术的缺点,提供了一种数据校验方法、装置、计算机设备和存储介质,本专利技术实施例能够提高开发人员实现对JSON数据进行校验的功能的开发效率,并且能够实现对JSON数据进行简单校验和复杂校验。本专利技术根据第一方面提供了一种数据校验方法,在一个实施例中,该方法包括:在检测到接收到的数据为JSON数据时,根据接收到的JSON数据得到包含N个待校验节点的树结构数据;确定与该接收到的JSON数据的业务标识对应的规则描述数据,规则描述数据是包含M个规则节点的树结构数据,M个规则节点中有K个规则描述节点,规则描述节点是对应有数据校验规则的规则节点,其中,N>=M,M>=K,N、M、K皆为大于0的正整数;使用各个规则描述节点对应的数据校验规则对该各个规则描述节点对应的待校验节点的节点数据进行校验。在一个实施例中,使用各个规则描述节点对应的数据校验规则对该各个规则节点对应的待校验节点的节点数据进行校验,包括:确定规则描述数据对应的遍历方式;按照该遍历方式递归遍历规则描述数据包含的M个规则节点,在确定遍历到的规则节点属于规则描述节点时,确定该遍历到的规则节点对应的数据校验规则和待校验节点,使用该遍历到的规则节点对应的数据校验规则对该遍历到的规则节点对应的待校验节点的节点数据进行校验。在一个实施例中,确定遍历到的规则节点对应的数据校验规则,包括:获取该遍历到的规则节点的节点数据,该遍历到的规则节点的节点数据包括至少一个规则代码;读取校验规则配置文件,将该校验规则配置文件中与该至少一个规则代码对应的至少一个数据校验规则确定为该遍历到的规则节点对应的数据校验规则。在一个实施例中,确定该遍历到的规则节点对应的待校验节点,包括:确定该遍历到的规则节点对应的数据类型;若该遍历到的规则节点对应的数据类型为第一类型,将N个待校验节点中,层级信息与该遍历到的规则节点的层级信息相同的待校验节点确定为该遍历到的规则节点对应的待校验节点;若该遍历到的规则节点对应的数据类型为第二类型,将N个待校验节点中,层级信息与该遍历到的规则节点的层级信息相同的目标待校验节点确定为该遍历到的规则节点对应的待校验节点,确定该遍历到的规则节点对应的子级规则节点,将该目标待校验节点对应的所有子级待校验节点确定为该子级规则节点对应的待校验节点。在一个实施例中,该遍历到的规则节点对应的待校验节点的数量为一个或多个;使用该遍历到的规则节点对应的数据校验规则对该遍历到的规则节点对应的待校验节点的节点数据进行校验,包括:若该遍历到的规则节点对应的待校验节点的数量为多个,使用该遍历到的规则节点对应的数据校验规则分别对该遍历到的规则节点对应的各个待校验节点的节点数据进行校验。在一个实施例中,确定与该接收到的JSON数据的业务标识对应的规则描述数据,包括:从配置中心获取与该接收到的JSON数据的业务标识对应的规则描述数据。在一个实施例中,该数据校验方法还包括:获取多个对应不同业务的树结构JSON数据,每个业务的树结构JSON数据包含至少一个数据节点;确定各个树结构JSON数据对应的校验规则配置信息,校验规则配置信息用于描述各个树结构JSON数据包含的全部或部分数据节点对应的规则代码;根据各个树结构JSON数据对应的校验规则配置信息将该各个树结构JSON数据的全部或部分数据节点进行赋值,得到各个业务对应的规则描述数据。本专利技术根据第二方面提供了一种数据校验装置,在一个实施例中,该装置包括:树结构获得模块,用于在检测到接收到的数据为JSON数据时,根据接收到的JSON数据得到包含N个待校验节点的树结构数据;规则描述数据确定模块,用于确定与该接收到的JSON数据的业务标识对应的规则描述数据,规则描述数据是包含M个规则节点的树结构数据,M个规则节点中有K个规则描述节点,规则描述节点是对应有数据校验规则的规则节点,其中,N>=M,M>=K,N、M、K皆为大于0的正整数;数据校验模块,用于使用各个规则描述节点对应的数据校验规则对该各个规则描述节点对应的待校验节点的节点数据进行校验。本专利技术根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。本专利技术根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。在本专利技术实施例中,在接收到数据后,如果检测到该接收到的数据为JSON数据,则根据该接收到的JSON数据得到包含N个待校验节点的树结构数据;确定与该接收到的JSON数据的业务标识对应的规则描述数据,该规则描述数据是包含M个规则节点的树结构数据,M个规则节点中有K个规则描述节点,使用各个规则描述节点对应的数据校验规则对该各个规则描述节点对应的待校验节点的节点数据进行校验,本实施例通过一个JSON数据来描述需要校验的JSON数据的数据校验规则,相比现有的校验JSON数据的方式,能够提高开发人员实现对JSON数据进行校验的功能的开发效率,并且既能够实现对JSON数据进行简单校验,也能够实现对JSON数据进行复杂校验。附图说明图1为一个实施例中一种数据校验方法的流程示意图;图2为一个实施例中待校验树结构数据和规则描述数据的示意图;图3为一个实施例中校验待校验节点的节点数据的的流程示意图;图4为一个实施例中树结构数据各个节点的遍历顺序示意图;图5为又一个实施例中待校验树结构数据和规则描述数据的示意图;图6为又一个实施例中一种数据校验方法的流程示意图;图7为一个实施例中一种数据校验装置的结构框图;图8为一个实施例中计算机设备的内部结构图。...

【技术保护点】
1.一种数据校验方法,其特征在于,包括:/n在检测到接收到的数据为JSON数据时,根据接收到的JSON数据得到包含N个待校验节点的树结构数据;/n确定与所述接收到的JSON数据的业务标识对应的规则描述数据,所述规则描述数据是包含M个规则节点的树结构数据,所述M个规则节点中有K个规则描述节点,规则描述节点是对应有数据校验规则的规则节点,其中,N>=M,M>=K,N、M、K皆为大于0的正整数;/n使用各个规则描述节点对应的数据校验规则对所述各个规则描述节点对应的待校验节点的节点数据进行校验。/n

【技术特征摘要】
1.一种数据校验方法,其特征在于,包括:
在检测到接收到的数据为JSON数据时,根据接收到的JSON数据得到包含N个待校验节点的树结构数据;
确定与所述接收到的JSON数据的业务标识对应的规则描述数据,所述规则描述数据是包含M个规则节点的树结构数据,所述M个规则节点中有K个规则描述节点,规则描述节点是对应有数据校验规则的规则节点,其中,N>=M,M>=K,N、M、K皆为大于0的正整数;
使用各个规则描述节点对应的数据校验规则对所述各个规则描述节点对应的待校验节点的节点数据进行校验。


2.如权利要求1所述的数据校验方法,其特征在于,
所述使用各个规则描述节点对应的数据校验规则对所述各个规则节点对应的待校验节点的节点数据进行校验,包括:
确定所述规则描述数据对应的遍历方式;
按照所述遍历方式递归遍历所述规则描述数据包含的M个规则节点,在确定遍历到的规则节点属于规则描述节点时,确定所述遍历到的规则节点对应的数据校验规则和待校验节点,使用所述遍历到的规则节点对应的数据校验规则对所述遍历到的规则节点对应的待校验节点的节点数据进行校验。


3.如权利要求2所述的数据校验方法,其特征在于,
所述确定所述遍历到的规则节点对应的数据校验规则,包括:
获取所述遍历到的规则节点的节点数据,所述遍历到的规则节点的节点数据包括至少一个规则代码;
读取校验规则配置文件,将所述校验规则配置文件中与所述至少一个规则代码对应的至少一个数据校验规则确定为所述遍历到的规则节点对应的数据校验规则。


4.如权利要求2所述的数据校验方法,其特征在于,
所述确定所述遍历到的规则节点对应的待校验节点,包括:
确定所述遍历到的规则节点对应的数据类型;
若所述遍历到的规则节点对应的数据类型为第一类型,将所述N个待校验节点中,层级信息与所述遍历到的规则节点的层级信息相同的待校验节点确定为所述遍历到的规则节点对应的待校验节点;
若所述遍历到的规则节点对应的数据类型为第二类型,将所述N个待校验节点中,层级信息与所述遍历到的规则节点的层级信息相同的目标待校验节点确定为所述遍历到的规则节点对应的待校验节点,确定所述遍历到的规则节点对应的子级规则节点,将所述目标待校验节点对应的所有子级待校验节点确定为所述子级规则节点对应的待校验节点。

【专利技术属性】
技术研发人员:徐伟伟李雄杰苏晓刚
申请(专利权)人:苏宁云计算有限公司
类型:发明
国别省市:江苏;32

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

1