Мне нужно создать схему JSON для данных, которые поступают в виде массива непосредственно в корневой объект без имени. MWE для JSON такого типа:
{
[
{
"veggieName": "potato",
"veggieLike": true
},
{
"veggieName": "broccoli",
"veggieLike": false
}
]
}
Я видел примеры схем, которые проверяют такой массив, который не вложен в объект. Я также видел примеры, которые работают, когда массив именуется, например
{
vegetables : [
{
"veggieName": "potato",
"veggieLike": true
},
{
"veggieName": "broccoli",
"veggieLike": false
}
]
}
. Этот второй пример может быть проверен с помощью схемы
{
"$id": "https://example.com/arrays.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "A representation of a person, company, organization, or place",
"type": "object",
"properties": {
"vegetables": {
"type": "array",
"items": { "$ref": "#/definitions/veggie" }
}
},
"definitions": {
"veggie": {
"type": "object",
"required": [ "veggieName", "veggieLike" ],
"properties": {
"veggieName": {
"type": "string",
"description": "The name of the vegetable."
},
"veggieLike": {
"type": "boolean",
"description": "Do I like this vegetable?"
}
}
}
}
}
Но проблема в том, как толькоимя "овощи" удалено, я не смог найти способ определения допустимой схемы. Как правильно представить мою структуру данных в схеме?
(MWE получены из http://json -schema.org / learn / miscellaneous-examples.html ).