JSON Schema入门

本文介绍了JSON Schema的作用,包括提供JSON数据结构的清晰描述、利于自动化测试和数据验证。详细讲解了JSON Schema的关键字,如type、properties、items等,并通过实例解释了各种类型的数据校验规则。此外,还提到了JSON Schema在接口测试和API文档中的重要性。
摘要由CSDN通过智能技术生成

使用Json的好处(什么是Schema):

  • 描述现有的数据格式
  • 提供清晰的人工和机器可读文档
  • 完整的数据结构,有利于自动化测试
  • 完整的数据结构,有利于验证客户端提交数据的质量

什么是JSON Schema

  • JSON Schema本身就是一种数据结构,可以清晰的描述JSON数据的结构。是一种描述JSON数据的JSON数据。

使用JSON Schema的好处

  • JSON Schema 非常适用于基于JSON的HTTP的API。
  • JSON Schema从Java的基本数据类型中对JSON结构进行校验,所以对JSON结构的校验可以理解为对每种不同数据类型的相应校验。
  • 接口测试中可以快速的定位到自己数据格式的正确性。

JSON模式示例

{
   
    "$schema":"http://json-schema.org/draft-04/schema#",
    "title":"book info",
    "description":"some information about book",
    "type":"object",
    "properties":{
   
        "id":{
   
            "description":"The unique identifier for a book",
            "type":"integer",
            "minimum":1
        },
        "name":{
   
            "type":"string",
            "pattern":"^#([0-9a-fA-F]{6}$",
            "maxLength":6,
            "minLength":6
        },
        "price":{
   
            "type":"number",
            "multipleOf":0.5,
            "maximum":12.5,
            "exclusiveMaximum":true,
            "minimum":2.5,
            "exclusiveMinimum":true
        },
        "tags":{
   
            "type":"array",
            "items":[
                {
   
                    "type":"string",
                    "minLength":5
                },
                {
   
                    "type":"number",
                    "minimum":10
                }
            ],
            "additionalItems":{
   
                "type":"string",
                "minLength":2
            },
            "minItems":1,
            "maxItems":5,
            "uniqueItems":true
        }
    },
    "minProperties":1,
    "maxProperties":5,
    "required":[
        "id",
        "name",
        "price"
    ]
}

关键字说明

JOSN模式中常用的关键字(加粗字体为常用字段)

关键字 描述
$schema $schema 关键字状态,这种模式被写入草案V4规范。
title 将使用此架构提供一个标题,title一般用来进行简单的描述,可以省略
description 架构的一点描述,description一般是进行详细的描述信息,可以省略
type 用于约束校验的JSON元素的数据类型,是JSON数据类型关键字定义的第一个约束条件:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值