Проверка структуры JSON приходящей от клиента на Node.JS
Для решения вашей задачи уже есть готовый модуль json-gate.
Использовал его — работает отлично. Предоставляет много полезных функций, вроде необязательных значений, списка допустимых значений и других валидаторов.
А я использую https://github.com/zaggino/z-schema