如何快速写出Json Schema,校验Json Schema

本文首发于微信公众号: 【软测小生
得到一个Json文件,如何快速的去测试呢?
难道是一个个节点的去验证吗?那显然效率太低了。 一般推荐使用Json Schema(一种Json的数据结构定义)去校验。

对于JsonSchema,有很多种方式:可以自己一个个节点的写,可以使用生成工具,或者在线生成工具生成。

那么如何快速的根据Json内容 写出一个JsonSchema呢?
我最近在做Json相关的一些测试,总结了一套快速生成自己想要的JsonSchema的方法:


1、首先得到Json文件

复制到在线生成Json Schema的工具里面: https://www.jsonschema.net/

2、优化你的Json Schema,成为你想要的Schema。

在上面截图中我们可以看到很多节点,$id、type、title、default、examples、required、pattern等
哪些东西是你想要的呢?这个你自己定好了

我在座的过程中一般会把$id、title、default、examples都去掉,因为我觉得这些都是些可有可无的东西,反而是太多了,造成干扰不是那么直观、简洁。

一般会根据数据节点的特征,只留下Type,需要用正则表达式匹配的留下pattern;需要特定长度的留下maxLenghminLength.
 

3、使用Notepad++批量去掉一些节点

比如使用正则表达式来匹配:
"\$id\"\:.*?\r\n     ——>匹配所有以$id:开头的行
批量替换即可去掉所有的节点

自动生成的的Schema会对如下图出现的第一个节点生成第一个Schema,required会包含上面节点中的7个节点,在校验的时候第二项里面就报错,因为少了一个节点(默认这种情况是正常的,缺少借点就说明没数据,不是异常),这个时候就需要将required去掉,并将所有项的共同节点全列出来,就可以继续进行验证。

 

4、怎么来验证自己写的Schema是否匹配Json呢?

同样是利用在线工具来辅助查看。https://jsonschemalint.com/#/version/draft-07/markup/json

发布了69 篇原创文章 · 获赞 117 · 访问量 19万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 成长之路 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览