You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建JSON Schema验证字符串字段值属于另一字段给定的字符串数组

要实现picked字段值必须是values数组内元素的校验逻辑,可使用JSON Schema Draft 2019-09及以上版本支持的$data引用功能实现,直接给出修改后的完整Schema:

{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
        "values": {
            "type": "array",
            "items": { "type": "string" },
            "uniqueItems": true
        },
        "picked": {
            "type": "string",
            "enum": { "$data": "/values" }
        }
    },
    "required": ["values", "picked"]
}

说明

  • $data: "/values"表示将当前JSON实例根路径下的values字段值,作为picked字段enum校验的可选值范围,刚好匹配需求。
  • 可选配置uniqueItems: true避免values数组出现重复选项,required配置可根据业务需求决定是否保留,不需要直接删除即可。
  • 目前主流JSON Schema校验工具(如Ajv等)均已支持该语法,可直接使用。

内容的提问来源于stack exchange,提问作者PiotrK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:24:03