Я пытаюсь сделать системный монитор, который настраивается пользователем. Эта настройка достигается за счет использования файла JSON для моделирования внешнего вида системного монитора. JSON может выглядеть так.
{
"_": "WINDOW",
"name": "myWindow",
"children": [
{
"_": "CPU",
"name": "cpuMonitor",
"freq_Unit": "MHZ"
},
{
"_": "NETWORK",
"name": "network",
"unit": "Kb/s"
},
{
"_": "DISK",
"name": "disk"
}
],
"background": "red"
}
Как видите, каждый объект соответствует этой схеме.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"name":"Component",
"type": "object",
"properties":{
"_": {
"type": "string"
},
"name":{
"type":"string"
},
"childern":{
"type":"array"
}
},
"required": ["_","name"]
}
Но каждый компонент также имеет собственное определение схемы. Я хотел бы проанализировать весь JSON и проверить каждый узел для другой схемы (сначала, если его компонент, а затем соответствующую схему).
Я посмотрел на rapidJson и другие библиотеки, но не нашел решения для проверки узлов для другой схемы. Вы знаете какую-нибудь библиотеку, которая могла бы это сделать? Или вообще возможно проверить JSON таким образом?
Все отзывы о том, как решить эту проблему, будут оценены.
Изменить: исправлена схема :(