本文首发于微信公众号: 【软测小生】
得到一个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

如何快速写出Json Schema,校验Json Schema相关推荐

  1. java schema校验_Json Schema 校验json,java代码示例

    Json Schema 校验json,java代码示例 1.json schema 入门请参考下面两篇博客 1.1Json Schema 快速入门 1.2Json Schema 简介 2.java代码 ...

  2. 用聚合数据API快速写出小程序

    利用聚合数据API快速写出小程序,过程简单. 1.申请小程序账号 2.进入开发 3.调用API.比如"苏州实时公交"小程序,选择的是苏州实时公交API. 苏州实时公交API文档:h ...

  3. 用聚合数据API(苏州实时公交API)快速写出小程序

    利用聚合数据API快速写出小程序,过程简单. 1.申请小程序账号 2.进入开发 3.调用API.比如"苏州实时公交"小程序,选择的是苏州实时公交API. 苏州实时公交API文档:h ...

  4. 用聚合数据API快速写出小程序(苏州实时公交)

    利用聚合数据API快速写出小程序,过程简单. 1.申请小程序账号 2.进入开发 3.调用API.比如"苏州实时公交"小程序,选择的是苏州实时公交API. 苏州实时公交API文档:h ...

  5. html如何使用聚合数据,用聚合数据API快速写出小程序

    利件览客需和下于有快都业视的事一房望站是有用聚合数据API快速写出小程序,过程简抖要支圈者器说是事天开的.年后编定功口小发还单. 1.申请小程遇新是直朋能到分览序账号 2.进入开发 3.调友,记基开前 ...

  6. Java的IDEA最常用快捷键汇总+快速写出Main函数

    前言 IDEA可以说是当下Java程序员日常开发的神器,但是想要发挥这款神器的牛逼威力,必须得熟练使用它的各种快捷键才行.本篇总结下使用IDEA(也就是IntelliJ IDEA )进行日常开发中最常 ...

  7. c++如何快速写出get set_如何快速写出一篇合格的毕业论文

    从自己毕业时艰难的才能在三个月内完成一篇,到如今十天内就可以整出来一篇,不需要加班的那种.本人的专业是法律硕士,在此仅以法律专业为例,如何快速写出一篇合格的毕业论文.事实告诉你,完全不用20天时间. ...

  8. 掌握这几点 让你快速写出优质电影解说文案!

    掌握这几点 让你快速写出优质电影解说文案! 大家好,今天和小伙伴们聊聊我如何快速写出一篇电影解说方案. 电影解说文案可以通过五步来写:1.选电影.2.找线或点.3.把线或点串起来.4.润色文案.5.故 ...

  9. 如何通俗理解并快速写出麦克斯韦方程组?

    引言 所谓"当初电磁学的烂,原理用时火葬场",哈?你问我说快速写出麦克斯韦方程组除了研究生复试时还能有啥用又不是小学生?这种圣经你光电学生不得烂熟于心关键时刻装逼用吗?ヽ(`Д´) ...

  10. 如何快速写出一篇核心论文?

    论文的创作对于每个人来说都是一件难事,因为论文是一个人对自己学过的知识的总结.论文的创作需要熟悉掌握一定的专业知识,要能将这些理论知识应用到论文中.在学习生活中你可以发现有些同学写论文需要好长时间,有 ...

最新文章

  1. 中式古建筑su模型大全
  2. LINUX新手入门-1.装系统
  3. (转载)oracle 10g 安装完成后,无法登陆EM的解决办法
  4. 英特尔530和535哪个好_详细介绍2020版联想小新Air 14酷睿版和锐龙版怎么选,哪款好...
  5. 【Linux】基础知识
  6. iOS 使用 MailCore2
  7. ArcGIS实验教程——实验三十六:ArcGIS Python脚本的巧妙使用
  8. mysql 数据库event_mysql数据库事件调度(Event)
  9. swoole服务器主动推消息,实现websocket-主动消息推送laravelswoole
  10. Hadoop:启动与停止命令
  11. QSrcollBar样式表设置
  12. C++ 函数重载 参数默认值可以不写
  13. python如何设置双索引_python-在新的多索引下串联熊猫列
  14. 追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试
  15. matlab编写erf函数
  16. ixigua解析_最新西瓜视频、今日头条视频地址解析获取API接口
  17. php gd绘制图片,PHP-用GD绘制图形
  18. 研发岗位OKR的设计与激励 - 管理角度(附部分岗位样例)
  19. Unity 打图集Atlas
  20. 哪些业务需要使用CDN加速服务?

热门文章

  1. Java和Python哪个比较有前途,好就业?(初学者必读)
  2. 国产高颜值降噪耳机有什么推荐?高颜值降噪耳机排行榜
  3. tcl/tk 的安装
  4. Cannot forward to error page for request ......
  5. 明解C语言入门篇_第9章_字符串的基本知识
  6. ie检查服务器证书吊销,浏览器提示“该站点安全证书的吊销信息不可用”的解决方法...
  7. java overload_Java方法重载Overload原理及使用解析
  8. 循环日程表(递归、分治)
  9. Android 富文本编辑器 图文混排
  10. 大数据技术之Spark(一)——Spark概述