Я использую Ruby JSON Валидатор схемы для проверки некоторых из моих входных данных, что довольно неплохо.
Но я хотел бы обновить свои входные данные так что он принимает значения схемы по умолчанию, если ее значения не установлены.
input = {'url' => 'http://www.google.com'}
schema = {
"type": "object",
"properties": {
"url": {
"type": "string",
},
"infos":{
"type": "object",
"properties": {
"content_type": {
"type": "string",
"default": "html",
},
}
}
}
}
#make some magic here to update my input with the schema
output = {
'url' => 'http://www.google.com',
'infos' => {'content_type'=>'html'}
}
Как я могу этого достичь, зная, что структура входных данных не совпадает со структурой схемы?
Существует опция : insert_defaults с Ruby JSON Валидатором схемы , но я не вижу способа получить заполненный объект. Кажется, код, связанный с этим, здесь .
Я также искал в Google, сделал несколько попыток с deep_merge () , но поскольку сравниваемые структуры я не знаю, как с этим справиться.