![]() |
1
17
尝试 Rx ,它有一个Python实现。它适用于JSON和YAML。 从Rx站点:
|
![]() |
2
41
JSON-Schema 验证YAML的一个相当大的子集。下面是一个代码片段(您需要 PyYAML 和 jsonschema 已安装):
这样做的一个问题是,如果您的模式跨越多个文件,并且您使用
|
![]() |
3
15
Cerberus 是非常可靠的伟大的文件和直接使用。 下面是一个基本的实现示例:
在中定义验证架构
使用
PyYaml
请记住,Cerberus是一个不可知的数据验证工具,这意味着它可以支持YAML以外的格式,比如JSON、XML等等。 |
![]() |
4
9
|
![]() |
5
5
|
![]() |
6
4
我也有同样的情况。我需要验证YAML的元素。 首先我认为“PyYAML标签”是最好的简单方法。但后来决定使用“PyKwalify”,它实际上定义了YAML的模式。 PyYAML标签:YAML文件有一个标记支持,我们可以通过给数据类型加前缀来强制执行这个基本检查(e、 g)对于整数-!!内景“123” http://pyyaml.org/wiki/PyYAMLDocumentation#Tags 这是好的,但是如果您要向最终用户公开它,那么它可能会引起混淆。 我做了一些研究来定义YAML的模式。这个想法就像我们可以用YAML对应的模式验证基本数据类型检查。此外,甚至我们的自定义验证,如IP地址,随机字符串可以添加在这个。所以我们可以单独使用模式,让YAML简单易读。
PyKwalify公司:有一个名为PyKwalify的软件包用于此目的: https://pypi.python.org/pypi/pykwalify 这个包裹最符合我的要求。 我尝试了一个小例子,在我的本地设置,这是工作。下面是示例模式文件。
此架构的有效YAML文件
谢谢 |
![]() |
7
4
您可以将YAML文档作为 口述 使用图书馆 架构 要检查它:
|
![]() |
8
1
我包装了一些现有的与json相关的python库
... 在github上提供: https://github.com/yaccob/ytools
可以使用
验证示例(来自 https://github.com/yaccob/ytools#validation
|
![]() |
9
0
可以通过exc.problem访问错误消息
访问
此对象允许您访问属性
因此,您可以创建自己的问题指针:
|