Schemat JSON dotyczący użycia $ ref

Rozumiem, że $ ref używa URI do użycia schematu json, ale gdzie $ ref: „#” wskazuje? Czy to po prostu oznacza użycie bieżącego schematu dla tego poziomu bloku? Czy może to oznaczać użycie schematu na poziomie głównym zdefiniowanego w identyfikatorze poziomu głównego? Dzięki

EDYCJA: Więc jeśli mam:

"items": {
        "anyOf": [
            { "$ref": "#" },
            { "$ref": "#/definitions/schemaArray" }
        ],
        "default": {}
    }

Ponieważ brakuje pola identyfikatora, spróbuje najpierw zweryfikować elementy instancji za pomocą schematu głównego, a następnie, jeśli to się nie powiedzie, spróbuj sprawdzić poprawność za pomocą schematu schemaArray zdefiniowanego w schemacie definicji, prawda?

Więc jeśli zmienię go na:

 "items": {
            "id" : "#/items",
            "anyOf": [
                { "$ref": "#" },
                { "$ref": "#/definitions/schemaArray" }
            ],
            "default": {}
        }

Wtedy pierwszy podschema w tablicy anyOf wskaże sam schemat elementów?

EDYCJA # 2: Dobra, jeślibym miał:

 "items": {
        "id" : "itemSchema",
        "anyOf": [
            { "$ref": "#" },
            { "$ref": "#/definitions/schemaArray" }
        ],
        "default": {}
    }

i

"stringArray": {
        "type": "array",
        "items": { "$ref" : "itemSchema" },
        "minItems": 1,
        "uniqueItems": true
    }

Pole „items” „stringArray” zostanie sprawdzone na podstawie powyższego „itemSchema”?

Czy drugie $ ref w 'anyOf' działa, przechodząc do katalogu głównego, a następnie przechodząc w dół ścieżki, aż trafi na ten schemat? Dzięki!

questionAnswers(1)

yourAnswerToTheQuestion