Мы взаимодействуем с аппаратным устройством, на которое загружаем файлы конфигурации json. Устройство не может обрабатывать символы, отличные от ascii, где-либо на json - даже если экранированное использование \uXXXX
.
Мы уже выполняем проверку схемы с использованием draft-07, поэтому мы хотели бы указать это ограничение в схема. Мы можем наложить ограничения регулярного выражения на все наши строки.
Но проблема в том, что мы должны иметь additionalProperties: true
в нескольких местах, а дополнительные свойства должны допускать любые значения json. Но мы также должны ограничить их, чтобы они содержали только символы ascii.
Можно ли это указать в схеме?
Пример упрощенной схемы:
{
"$schema":"http://json-schema.org/draft-07/schema#",
"type":"object",
"properties":
{
"channel":
{
"type":"array",
"items":
{
"type":"object",
"properties": { "name":{"type":"string"} },
"required":["name"],
"additionalProperties":true
}
}
},
"required":["channels"],
"additionalProperties":true
}
Пример json который не должен проверять:
{
"channels":[ {"name":"temperature", "input": "temp in °C"}],
"other":[ {"mykey": "ü"}],
"danish": "æøå"
}