Я пытаюсь проверить эту конкретную схему:
{
"messages": [
{
"name": "test msg",
"id": "0x100",
"signals": {
"0": {"name": "Engine RPM", "bit_length": 16},
"16": {"name": "Gear", "bit_length": 3},
"19": {"name": "Battery Voltage", "bit_length": 5}
}
}
]
}
Я использую Python from jsonschema import Draft4Validator
для проверки этой схемы ... однако я не уверен, как продолжить.
Это моя текущая проверка схемы:
{
"$schema" : "https://json-schema.org/schema#",
"type" : "object",
"properties" :
{
"messages" :
{
"type" : "array",
"items" :
{
"properties" :
{
"name" :
{
"type" : "string"
},
"id" :
{
"type" : "string"
},
"signals" :
{
"type" : "object"
},
"properties" :
{
}
},
"required": ["name", "id", "signals"]
}
}
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что я не уверен, как обращаться с объектами, которые находятся в ключе «сигналов», так как они начинаются со строки иНЕ согласованы ("0", "16", "19") ... Как можно проверить это, убедившись, что тип всегда является строкой, независимо от того, является ли строка согласованной.
Спасибо всем, кто ответил заранее.