I want to make a schema of json file.It's for an array of products.

The json schema is similar as below:

{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Product set",
"type": "array",
"items": {
    "title": "Product",
    "type": "object",
    "properties": {
        "id": {
            "description": "The unique identifier for a product",
            "type": "number"
        },
        "name": {
            "type": "string"
        },
        "price": {
            "type": "number",
            "minimum": 0,
            "exclusiveMinimum": true
        },
        "tags": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "minItems": 1,
            "uniqueItems": true
        },
        "dimensions": {
            "type": "object",
            "properties": {
                "length": {"type": "number"},
                "width": {"type": "number"},
                "height": {"type": "number"}
            },
            "required": ["length", "width", "height"]
        },
        "warehouseLocation": {
            "description": "Coordinates of the warehouse with the product",
            "$ref": "http://json-schema.org/geo"
        }
    },
    "required": ["id", "name", "price"]
}
}

The array should at least one item in it. How can I define the minimum of the array?

Do I need to add the minimun defination?

推荐答案

I suppose no, at least looking to working draft the minimum is applied only for numeric values, not arrays.

5.1. Validation keywords for numeric instances (number and integer)
...
5.1.3. minimum and exclusiveMinimum

So you should be good with min/maxItems for arrays.

Json相关问答推荐

使用 Jolt 使用键中的值创建带有硬编码键和值的 JSON 数组

如何用 Xidel 正确读取这个 JSON 文件?

N1QL 搜索对象内的某些对象

使用 jq 同时迭代数组

如何使用 ConfigurationBuilder 解析现有的 json 字符串(不是文件)

如何使用 Swiftui 判断 JSON 是否缺少键值对

在 pandas DataFrame 中取消嵌套(分解)多个列表列的有效方法

如何使用 jq 将字符串转换为 JSON 文件中的整数?

使用 Bash 变量构建 JSON 字符串

使用可编码的值,有时是 Int,有时是 String

pandas.io.json.json_normalize 带有非常嵌套的 json

如果单元素解码失败,Swift JSONDecode 解码数组将失败

json.loads 可以忽略尾随逗号吗?

如何使用 Swift Decodable 协议解码嵌套的 JSON 结构?

如何使用 Serde 反序列化带有自定义函数的可选字段?

有没有办法将 BigQuery 表的架构导出为 JSON?

按键值过滤 JSON

在 React 中访问子级的父级状态

如何使用 Jackson 注释将嵌套值映射到属性?

Python - 如何将 JSON 文件转换为数据框