基于本地文件系统的json目录,可用于包'jsonschema`
jsoncatalogue的Python项目详细描述
包jsoncatalogue
允许从类似url的目录结构中读取一组JSON文件
文件以简单的url:jsoncontent dictionary加载和提供。
这样的字典可以用作json模式的目录,用于json模式验证。
安装
$ pip install jsoncatalogue
包含json文件的目录结构
如果您想获得用于Swagger v1.2验证的目录:
./catalogue/http/wordnik.github.io/schemas/v1.2/apiDeclaration.json ./catalogue/http/wordnik.github.io/schemas/v1.2/infoObject.json ./catalogue/http/wordnik.github.io/schemas/v1.2/authorizationObject.json ./catalogue/http/wordnik.github.io/schemas/v1.2/modelsObject.json ./catalogue/http/wordnik.github.io/schemas/v1.2/operationObject.json ./catalogue/http/wordnik.github.io/schemas/v1.2/parameterObject.json ./catalogue/http/wordnik.github.io/schemas/v1.2/dataTypeBase.json ./catalogue/http/wordnik.github.io/schemas/v1.2/oauth2GrantType.json ./catalogue/http/wordnik.github.io/schemas/v1.2/resourceObject.json ./catalogue/http/wordnik.github.io/schemas/v1.2/dataType.json ./catalogue/http/wordnik.github.io/schemas/v1.2/resourceListing.json
其中
catalogue
-是目录“home”目录(可以更深入)http
-是协议名可以是任何其他的,比如ftp
…wordnik.github.io
-域名schemas/v1.2
-json文件的本地路径
{实际的JSON文件——必须是有效的JSON文件(没有其他要求存在)
如您所见,没有复杂的规则可遵循,只要有uri指向有效的json文件(甚至不需要扩展名“.json”)
从目录
加载json目录>>> from jsoncatalogue import Catalogue >>> catalogue = Catalogue() >>> catalogue.add_directory("catalog") >>> catalogue.add_directory("../other/catalog") >>> catalogue.store {"http://exam.ple/schema/one.json": {...}, "http://exam.ple/schema/two.json": {...}, "http://wordnik.github.io/schema/v1.2/apiAuthentication.json": {...} "http://no.extensi.on/schema/pets": {...} }
就这些。现在有了一个包含uri和相关json内容的字典。json内容已经加载并表示为字典。