0

我正在使用 JSON 模式来构建一个表单,并且我在“定义”中有一个对象,我在模式的两个不同位置使用 $ref 引用它。在其中一个实例中,我需要向引用的对象添加一个属性,我该如何实现?

{
    "definitions": {
        "settingsProperties": {
            "$id": "#/definitions/settingsProperties",
            "type": "object",
            "properties": {
                "thickness": {
                    "$id": "#/properties/defaultLayerSettings/thickness",
                    "type": "number",
                    "title": "Thickness:",
                }
            }
        }
    },
    "properties": {
        "layerSettings": {
            "$id": "#/properties/layerSettings",
            "type": "array",
            "title": "Dynamic Layer Settings:",
            "items": {
                "title": "Dynamic Settings",
                "type": "object",
                "$ref": "#/definitions/settingsProperties", PLUS startLayer PROPERTY!!!!!!!!!!!!!!
                "required": [
                    "startLayer"    
                ]
            }
        }
}
4

1 回答 1

1

只需在关键字"properties": { "startLayer": { ... } }下方添加即可。required

请注意,如果您使用早于 2019-09 草案(当前最新版本)的任何规范版本,则必须将$ref关键字嵌套在allOf. #此外,关键字中不允许使用片段(包括 的字符串) $id,尽管一些过时的工具正在生成具有这种结构的模式。

于 2020-10-19T18:18:36.957 回答