[发明专利]一种高效JSON文件格式及内容验证方法有效
申请号: | 202010569438.7 | 申请日: | 2020-06-20 |
公开(公告)号: | CN111723552B | 公开(公告)日: | 2023-03-21 |
发明(设计)人: | 左劼;段磊;何邦君;谢贵才;陈子豪 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F40/154 | 分类号: | G06F40/154;G06F40/186;G06F16/25 |
代理公司: | 成都中亚专利代理有限公司 51126 | 代理人: | 王岗 |
地址: | 610065 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 json 文件格式 内容 验证 方法 | ||
本发明公开了一种高效JSON文件格式及内容验证方法,包含构建模板树、读取文档、解析键值对、将解析后的结果与结构树匹配四个部分;相对于现有方式来讲,本发明具有以下优点及有益效果:JSON文档的验证是数据处理中的一个关键步骤。EvsJSON是一种新颖而高效的JSON文档验证方法,现有的方法能够检验JSON文档的结构及内容,但仅限于完整的文档,无法检验拆分后的多个文档;而本发明对应的JSON格式与内容验证算法,不仅在验证速度上超越现有方法,而且能够对拆分文档进行验证,克服了现有方法所遇到的困难。
技术领域
本发明涉及数据解析、文件格式及内容验证相关领域,具体来讲涉及的是一种高效JSON文件格式及内容验证方法。
背景技术
众所周知,JSON是最流行的数据发布和交换格式之一。在实际的应用程序场景中,由于数据库字段长度的限制,如果一个JSON文档太长,那么只能将它分割成多个文档后再存入数据库。在这种情况下,需要对文档的完整性和准确性进行验证。
然而,JSON作为一种轻量级且易于使用的半结构化模型,能够灵活地组织和记录数组等数据,所以经常用于交换数据。例如,从客户端到数据库,JSON数据在C/S系统上的一般传输情况如图1所示。首先,用户将数据输入表单。然后客户端接收数据并将其封装为JSON格式(即JSON文档)。所有文档在存储到数据库之前都必须经过验证。然而,由于数据库中字段长度的限制,长文档会被分成多个文档,这给数据验证带来了挑战。
现有的JSON工具包在验证JSON格式时包含两个阶段,解析JSON文档和预定义JSON模式,分别获得对应的JSON对象和模式对象。通过预定义的JSON模式,可以限制JSON文档的结构,并检查其完整性。通过将JSON对象与模式对象进行比较,可以验证JSON文档的格式。但是,上述工具包无法验证从一个长JSON文档分离出来的多个JSON文档。
发明内容
因此,为了解决上述不足,本发明在此提供一种高效JSON文件格式及内容验证方法;不仅在验证速度上超越现有方法,而且能够对拆分文档进行验证,克服了现有方法所遇到的困难。
本发明是这样实现的,构造一种高效JSON文件格式及内容验证方法,实施时先构建客户端、服务器和数据库三部分;用户通过客户端输入表单信息,之后传输至服务器,由服务器实现验证,然后将验证的文档存储至数据库;其特征在于;服务器通过以下方式实现验证,包含以下四个执行部分,每个部分的具体执行如下:
步骤1,构建树;JSON模板是预定义的,它包含一批键与每个键对应的值的数据类型,并在特定的嵌套结构中组织所有键;根据其嵌套结构,将模板转换为一个名为JSON模板树的树结构,其中每个节点表示JSON模板中的一个键值对,树中的每个层对应于JSON模板的嵌套结构中的一个层;
步骤2,读取文档;如果文档太长,则须将一个完整的JSON文档拆分为多个JSON文档。在此步骤中,通过流数据读入的方式,使用读取器读取JSON文档,在每个完整文档的末尾添加一个特定的结束符号(如EOF),以此检查每个文档的完整性。对于从大型文档中分离出来的文档,最后都能够通过合并成为原来的文档。
步骤3,解析键值对;节点列表是基于模板树创建的,它存储了每个节点本身及其父节点和子节点的信息,通过前序遍历得到一个包含所有树节点的空节点列表L;根据列表,从文档中解析并提取每个节点对应的值;JSON模板中所有键值对的信息都存储在节点列表中;
步骤4,将解析后的结果与模板树匹配;在此阶段,将通过以下三个条件检查每个JSON文档,如果满足任意条件,则将其视为无效文档:
(1)L中的任意键未出现在JSON文档中;
(2)与键对应的值的数据类型不正确;
(3)JSON文档中键的结构不符合L的顺序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010569438.7/2.html,转载请声明来源钻瓜专利网。
- 内容再现系统、内容提供方法、内容再现装置、内容提供装置、内容再现程序和内容提供程序
- 内容记录系统、内容记录方法、内容记录设备和内容接收设备
- 内容服务系统、内容服务器、内容终端及内容服务方法
- 内容分发系统、内容分发装置、内容再生终端及内容分发方法
- 内容发布、内容获取的方法、内容发布装置及内容传播系统
- 内容提供装置、内容提供方法、内容再现装置、内容再现方法
- 内容传输设备、内容传输方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容发送设备、内容发送方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容再现装置、内容再现方法、内容再现程序及内容提供系统
- 内容记录装置、内容编辑装置、内容再生装置、内容记录方法、内容编辑方法、以及内容再生方法