Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsonschema 扩展$ref对象属性_Jsonschema_Angular6 Json Schema Form - Fatal编程技术网

Jsonschema 扩展$ref对象属性

Jsonschema 扩展$ref对象属性,jsonschema,angular6-json-schema-form,Jsonschema,Angular6 Json Schema Form,我使用JSON模式构建表单,在“定义”中有一个对象,我在模式的两个不同位置使用$ref引用该对象。在其中一个实例中,我需要将一个或多个属性添加到引用对象中,如何实现这一点 { "definitions": { "settingsProperties": { "$id": "#/definitions/settingsProperties", &q

我使用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"    
                ]
            }
        }
}
只需在
required
关键字下面添加
“属性”:{“startLayer”:{…}

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