验证和解析库
项目描述
Trafaret Schema
===============
[](https://circleci.com/gh/Deepwalker/trafaret_schema)
[](https://gitter.im/Deepwalker/trafaret)
[](https://pypi.python.org/pypi/trafaret_schema)
[](https://pypi.python.org/pypi/trafaret_schema)
库接受JSON Schema并将其转换为Trafaret实例
from trafaret_schema import json_schema
check_string = json_schema({'type': 'string', 'minLength': 6, 'maxLength': 10, 'pattern': '(bla)+'})
check_string('blablabla')
需要注意的是,这个库是一个大的Trafaret,它产生其他Trafaret。所以在解析
JSON Schema时,您可能会得到DataError,并且在使用解析的schema时您也会得到DataError。
您可以在任何可以使用Trafaret的情况下使用schema解析器或解析的schema作为Trafaret。
您可以使用`Register`对象提供自定义`format`实现并支持跨schema `$ref` 对象
对象
import trafaret as t
from trafaret_schema import json_schema, Register
my_reg = Register()
my_reg.reg_format('any_ip', t.IPv4 | t.IPv6)
check_address = json_schema(open('address.json').read(), context=register)
check_person = json_schema(open('person.json').read(), context=register)
库有点有趣,因为它是在`trafaret`中实现的,并产生`trafaret`实例。也像是
专业级别的`trafaret`使用(我希望如此)。
功能
[*] 基础
[*] 类型
[*] 枚举
[*] 常量
[*] 数字
[*] 字符串
[*] 数组
[*] minProperties
[*] 最大属性数
[*] 唯一项目
[*] 项目
[*] 其他项目
[*] 包含
[*] 对象
[*] 最大属性数
[*] minProperties
[*] 必需
[*] 属性
[*] 模式属性
[*] 其他属性
[*] 依赖关系
[*] 属性名
[*] 组合器
[*] 任意一个
[*] 所有
[*] 其中一个
[*] 非
[*] 格式
[*] 参考
[*] 定义
[*] $ref
===============
[](https://circleci.com/gh/Deepwalker/trafaret_schema)
[](https://gitter.im/Deepwalker/trafaret)
[](https://pypi.python.org/pypi/trafaret_schema)
[](https://pypi.python.org/pypi/trafaret_schema)
库接受JSON Schema并将其转换为Trafaret实例
from trafaret_schema import json_schema
check_string = json_schema({'type': 'string', 'minLength': 6, 'maxLength': 10, 'pattern': '(bla)+'})
check_string('blablabla')
需要注意的是,这个库是一个大的Trafaret,它产生其他Trafaret。所以在解析
JSON Schema时,您可能会得到DataError,并且在使用解析的schema时您也会得到DataError。
您可以在任何可以使用Trafaret的情况下使用schema解析器或解析的schema作为Trafaret。
您可以使用`Register`对象提供自定义`format`实现并支持跨schema `$ref` 对象
对象
import trafaret as t
from trafaret_schema import json_schema, Register
my_reg = Register()
my_reg.reg_format('any_ip', t.IPv4 | t.IPv6)
check_address = json_schema(open('address.json').read(), context=register)
check_person = json_schema(open('person.json').read(), context=register)
库有点有趣,因为它是在`trafaret`中实现的,并产生`trafaret`实例。也像是
专业级别的`trafaret`使用(我希望如此)。
功能
[*] 基础
[*] 类型
[*] 枚举
[*] 常量
[*] 数字
[*] 字符串
[*] 数组
[*] minProperties
[*] 最大属性数
[*] 唯一项目
[*] 项目
[*] 其他项目
[*] 包含
[*] 对象
[*] 最大属性数
[*] minProperties
[*] 必需
[*] 属性
[*] 模式属性
[*] 其他属性
[*] 依赖关系
[*] 属性名
[*] 组合器
[*] 任意一个
[*] 所有
[*] 其中一个
[*] 非
[*] 格式
[*] 参考
[*] 定义
[*] $ref