我希望将 json 模式的公共(public)部分捕获到一个文件中,然后从主模式文件中引用这个文件。所以基本上不是 1 个大的 json 模式文件,而是多个相互引用的文件。我正在使用 json-schema-validator lib 进行验证。
例如。:
$ ls schemas/
response_schema.json results_schema.json
$ cat schemas/response_schema.json
{
"$schema": "http://json-schema.org/draft-04/schema",
"type": "object",
"required": [ "results" ],
"properties": {
"results": "####Reference results_schema.json file here somehow####"
}
}
$ cat schemas/results_schema.json
{
"$schema": "http://json-schema.org/draft-04/schema",
"type": "array",
"items": {
"type": "object",
"required": ["type", "name"],
"properties": {
"name": { "type": "string" },
"dateOfBirth": { "type": "string" }
}
}
}
最佳答案
以下解决方案对我有用:
"results": {
"$ref": "file:src/test/resources/schemas/results.json"
}
上述解决方案满足我的要求:
关于JSONSchema 将一个大模式文件拆分为多个逻辑小文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18376215/