Как стать автором
Обновить

Комментарии 18

а на основе relax-ng ещё никто ничего для json не сделал?
НЛО прилетело и опубликовало эту надпись здесь
Спасибо, взглянул на revalidator, он по всей видимости тоже реализует JSON Schema, но без предзагрузки схем в окружение, наследования и ссылок и с некоторыми расширенными возможностями (такими как нормализация типов). Надо будет потестить. По поводу второго момента я не понял, строгое соответствие и так указано: «additionalProperties»: false.
НЛО прилетело и опубликовало эту надпись здесь
Этот бенчмарк я смотрел (и даже ссылку на него давал в конце). Revalidator-а там, к сожалению, нет. По поводу скорости да, согласен что JSV можно считать самым тормозным. Но он наиболее полно поддерживает стандарт, и его замену на более быстрый (или вообще специфически самописный), на мой взгляд, можно отнести к задачам оптимизации.
НЛО прилетело и опубликовало эту надпись здесь
Выглядит проще и читабельнее, чем XML Schema, при этом занимает меньший текстовый объём.
Это действительно важно? Ведь не обязательно использовать текстовый редактор для работы с xml. С Xml Scheme все равно естественно использовать специализированные инструменты для редактирования, которые предоставляют свой UI.

И еще вопрос — существуют инструменты для авто генерации схемы по данному на вход json-ну?
По поводу «проще и читабельнее», я предпочитаю читабельность, из соображений удобства работы с голым текстом, без IDE (например, когда кто-то присылает вопрос с куском схемы на мыло, и тд.).

Генераторы есть, вот например www.jsonschema.net/
Но схемы обычно пишутся руками, птому что генератор не может предугадать все правила.
Можно ли как-то проверять не только соответствие типов атрибутов, но саму структуру Json объекта согласно схеме? Т е осуществлять проверку жесткого соответствия схеме.Например, если в Json объекте появился лишний атрибут, то тест на соответствие созданной ранее схеме завалится? Проверку типов я уже осуществил (java+json-validator+junit), но саму структуру проверить не могу.
Конечно, в третьей редакции схемы для типа object у каждого его поля указывается булевый параметр required, а в четвертой — один атрибут required для всего объекта со списком необходимых полей. Наличие дополнительных атрибутов блокируется параметром additionalProperties.
И как вам опыт использования? Столкнулись ли с какими-то неочевидными проблемами?
И, если есть такое, можете посоветовать генератор HTML-форм по схеме?
JSON ведь позволяет использовать объекты как ассоциативные массивы.
позволяет ли JSON-schema по паттерну проверять ключи?
Картинка взята с сайта json.org
Правда позволяет? (картинка взята с json.org)
string — ключ
value — значение
разве нет?
Прошу прощения. Подумал что под фразой «паттернами проверять ключи» имеется в виду возможность в качестве ключей использовать другие объекты и их проверять.
да, позволяет:
patternProperties:{
  "RegExp":{
    title:"схема для всех объектов с ключем, удовлетворяющем RegExp"
  }
}
а позволяет ли JSON hyper-schema проверить строку, что заданный объект документа имеет свойство с именем, равным данной строке?
так сказать для проверки документа на битые ссылки
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.