У меня есть объект, в котором «ключ» свойства будет задан динамически ... каков правильный способ определения этого в схеме JSON?Схема JSON для динамических свойств
Это то, что мой объект выглядит
{
"column_definitions": [
{
"Field_1": {
"type": "Numeric",
"isNullable": false
}
},
{
"Field_2": {
"type": "Boolean",
"isNullable": true
}
}
],
"row_values": [ ... ]
}
«ключ» из «column_definitions» всегда будет динамичным (это может быть «Field_1» точно так же, как это может быть «Field_24»
как правильно определить это в JSON Schema
Я не хочу просто сказать «тип»?: «объект», потому что я хочу, чтобы иметь возможность определить статические свойства «тип» и «IsNullable» также , я не могу использовать «oneOf» просто потому, что я не знаю, что e «ключ» потенциально может быть и нет установленных значений потенциала.
Это то, что я до сих пор:
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "SomeSchema",
"description": "SomeDescription",
"type": "object",
"properties":
{
"column_definitions": { "type": ["array", "null"], "items": { "$ref": "#/definitions/columnDef" }, "readOnly": true },
"row_values": { "type": ["array", "null"], "items": { "type": "object" }, "readOnly": true }
},
"definitions": {
"columnDef" : {
"type": "object",
"properties": {
"THIS_IS_MY_DYNAMIC_PROPERTY": {
"type": "object",
"properties": {
"type": { "type" : ["string", "null"], "enum": ["Text", "Boolean", "Numeric", "DateTime"], "readOnly": true },
"isNullable": { "type" : ["boolean", "null"], "readOnly": true }
}
}
}
}
}
}
У вас есть все проблемы? Сейчас я столкнулся с такой же ситуацией – mnvbrtn