Javascript.RU

Голосование: Вы знаете что такое JsonSchema?
Опции опроса
Вы знаете что такое JsonSchema?

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.10.2014, 18:17
Аватар для XelaNimed
Интересующийся
Отправить личное сообщение для XelaNimed Посмотреть профиль Найти все сообщения от XelaNimed
 
Регистрация: 07.02.2010
Сообщений: 23

JsonSchema: взаимосвязь типов и их значений
Всем доброго и продуктивного времени суток.
Недавно столкнулся с необходимостью описать структуру Json для ее проверки и после недолгого поиска в интернете было найдено возможное решение JsonSchema. Полное описание возможных параметров и их значений на великом и могучем найдено не было, но суть не в этом.
Типичная сфера применения JsonSchema - это проверка корректности всевозможных API запросов и ответов. И если при описании типов, формата строки, обязательности параметра или макс. мин. количества элементов и т.д. никаких проблем не возникает, то при попытке описать взаимосвязь/взаимозависимость параметров друг от друга сталкиваюсь с проблемой. Объясню на примере. К примеру имеем следующий объект:
var obj = {
  // anything...
  "sqlServer1" : "FULL.QUALIFIED.NAME1",
  "dbName1"    : "dbOne",
  "dbTable1"   : "tablOne",
  "cols1"      : ["col1_1", "col1_2", "col1_3"],
  // anything...
  "sqlServer2" : "FULL.QUALIFIED.NAME2",
  "dbName2"    : "dbTwo",
  "dbTable2"   : "tablTwo",
  "cols2"      : ["col2_1", "col2_2", "col2_3"]
};

В приведенном примере можно с легкостью описать (стандартными средствами JsonSchema) и проверить (например при использовании Tiny Validator возможно добавление собственных функций проверки) тип значений, и даже описать с помощью pattern синтаксис. Но как описать, что свойство dbName1 относится к sqlServer1, dbTable1 относится к dbName1, cols1 относится к dbTable1? И самое главное, как затем это проверить?
Прихожу к выводу, что JsonSchema для таких задач не подходит и придется мастерить свой велосипед с сопутствующими костылями и т.д.. Но все еще теплится надежда, что я не прав и возможно использовать уже сущствующие библиотеки JsonSchema для своего проекта.
Буду рад любым конструктивным предложениям и подсказкам в какую сторону копать для решения моей проблемы. Заранее всем спасибо за уделенное время и помощь.

Последний раз редактировалось XelaNimed, 07.10.2014 в 21:34.
Ответить с цитированием
  #2 (permalink)  
Старый 07.10.2014, 21:38
Аватар для XelaNimed
Интересующийся
Отправить личное сообщение для XelaNimed Посмотреть профиль Найти все сообщения от XelaNimed
 
Регистрация: 07.02.2010
Сообщений: 23

Всем доброго времени суток.
Сразу извиняюсь за поднятие темы, но все таки прошу знающих людей подсказать советом/словом/ссылкой. Может JsonSchema не подходит для описанных задач и есть другое решение?!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение случайных значений Nyam Общие вопросы Javascript 13 26.04.2014 20:46
Отправка по Ajax массива значений поля input hrundel jQuery 10 25.04.2014 22:13
Суммирование значений по всем динамически добавленным полям Joliat Общие вопросы Javascript 2 12.02.2014 16:01
Умножение численных значений формы ввода FastSP Общие вопросы Javascript 8 08.04.2012 20:45
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48