【发布时间】:2018-02-28 10:57:51
【问题描述】:
要求是验证给定的 json 架构没有悬空的 $ref 指向文件中的定义。
{
"$schema": "http://json-schema.org/draft-6/schema#",
"definitions": {
"date": {
"type": "string",
"pattern": "^(0?[1-9]|[12][0-9]|3[01])\\-(0?[1-9]|1[012])\\-\\d{4}$"
},
},
"properties": {
"my_date": {"$ref": "#/definitions/dat"}
}
}
这里,参考中有一个错字(dat 而不是 date)。我想捕获这样的实例而不是运行时失败。
正在使用的库:https://github.com/java-json-tools/json-schema-validator
【问题讨论】:
-
为什么不想尝试捕获并处理错误?
-
问题是它直到运行时才抛出任何异常。如果有人更改了架构并且有错字而不是在生产中失败,我想检测它。
-
听起来您想为您的应用程序编写一些测试。确认 JSON Schema 的测试会按预期验证某些特定的测试 json。
标签: jsonschema json-schema-validator