前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何快速写出Json Schema,校验Json Schema

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

作者头像
软测小生
发布2019-07-05 15:16:30
7.8K0
发布2019-07-05 15:16:30
举报
文章被收录于专栏:软测小生软测小生

得到一个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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软测小生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、首先得到Json文件
  • 2、优化你的Json Schema,成为你想要的Schema。
  • 3、使用Notepad++批量去掉一些节点
  • 4、怎么来验证自己写的Schema是否匹配Json呢?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档