首页 > 解决方案 > 如何引用顶级数组的json模式

问题描述

我有一个包含项目列表的 JSON 文件。该文件中存储的唯一内容是作为数组的项目。例如:

[
    {...},
    {...},
    {...},
]

我想为此定义一个模式文件。这似乎很好,因为初始类型可以设置为数组,我可以将项目定义为类型。但我想在项目 json 文件中引用架构。不幸的是,它不是一个对象,所以我无法添加"$schema"密钥。我当然可以使 json 成为一个对象,它只有一个具有数组值的键,但这似乎不是一个好的设计。

模式系统似乎有一些设计错误还是不支持顶级数组 json?

标签: jsonjsonschema

解决方案


我想您可能已经假设$schema根据 JSON Schema 放入您的 JSON 数据具有任何意义。

但我想在项目 json 文件中引用架构。

赋予它的任何含义都不是来自 JSON Schema 规范。

$schema在 JSON 模式中使用。该规范没有定义任何方法来允许 JSON 文档识别为应该符合模式的文档。

有一种方法可以使用 HTTP 标头,但仅此而已。


推荐阅读