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

如何为JSON数组指定$schema属性

JSON 规范原生不支持给数组类型的根节点直接添加$schema属性,目前行业内有两种常用的可行方案可以满足你的需求:

方案1:用顶层对象包裹数组(符合纯JSON规范,兼容性最好)

你可以保留$schema的标准写法,将原有数组放到顶层对象的自定义字段内,示例如下:

{
  "$schema": "pathtomyschema",
  "data": [
    { "prop1": "value" },
    ...
  ]
}

只需对应调整你的JSON Schema即可:将原数组类型的根Schema改为对象类型,声明$schema为保留属性,再将原数组的校验规则绑定到data字段,原有数组的校验逻辑完全可以复用,没有额外侵入性。该方案完全符合标准JSON规范,所有支持JSON Schema的工具都可以正常识别校验。

方案2:通过注释声明Schema(无需改动原有数组结构)

如果你的使用场景允许使用带注释的JSON(JSONC,VS Code、JetBrains系列等主流编辑器,大部分前端构建工具、非严格的JSON解析器都支持),可以直接在数组文件的开头通过注释标注Schema地址,主流代码编辑器都可以识别该标注并自动关联校验、给出编写提示:

// $schema: pathtomyschema
[
  { "prop1": "value" },
  ...
]

该方案完全不需要改动你原有数组的结构,完美适配你希望使用者参考Schema编写内容的需求。

目前JSON Schema官方规范暂时没有针对数组类型根节点的内置Schema声明方案,以上两种是通用性最高的落地方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:09:02