【问题标题】:Merge iterables of Validationerror into one single iterable of Validationerror in JSON Schema在 JSON Schema 中将 Validationerror 的迭代合并为一个 Validationerror 的迭代
【发布时间】:2018-04-09 10:03:11
【问题描述】:

jsonschema 验证中,我希望在一个for 循环中打印几个instances 的所有Validationerror 和几个各自的schemas,而不是一个for 循环进行一轮验证.我想做这样的事情:

validator = jsonschema.Draft4Validator(schema1)
errors1 = validator.iter_errors(instance1)
validator = jsonschema.Draft4Validator(schema2)
errors2 = validator.iter_errors(instance2)
for error in errors1 + errors2:
    print error.message

但是,我不能这样做 errors1 + errors2,因为它们的类型是 generator。有没有办法将所有错误添加到一个迭代中,这样我就可以只使用一个 for 循环?任何帮助表示赞赏。谢谢。

【问题讨论】:

    标签: json python-2.7 generator jsonschema json-schema-validator


    【解决方案1】:

    类似的问题在这里How to join two generators in Python?

    你必须使用itertools.chain()函数来加入生成器

    for error in itertools.chain(errors1, errors2):
        print error.message
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      相关资源
      最近更新 更多