json – AVRO验证

前端之家收集整理的这篇文章主要介绍了json – AVRO验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于AVRO来说还是比较新的所以请原谅我是否遗漏了任何明显的东西.
是否有AVRO验证器/命令行实用程序来验证AVRO模式的输入?或者可能指向json输入中的错误位置.

解决方法

不是我知道的.我写了这个小小的 python脚本,它会告诉你json文件是否与模式匹配,但它不会告诉你错误在哪里(如果有的话).

这取决于Python avro library.

#!/usr/bin/env python

from avro.io import validate
from avro.schema import parse
from json import loads
from sys import argv

def main(argv):
    valid = set()
    invalid_avro = set()
    invalid_json = set()

    if len(argv) < 3:
        print "Give me an avro schema file and a whitespace-separated list of json files to validate against it."
    else:
        schema = parse(open(argv[1]).read())
        for arg in argv[2:]:
            try:
                json = loads(open(arg,'r').read())
                if validate(schema,json):
                    valid.add(arg)
                else:
                    invalid_avro.add(arg)
            except ValueError:
                invalid_json.add(arg)
    print ' Valid files:\n\t' + '\n\t'.join(valid)
    print 'Invalid avro:\n\t' + '\n\t'.join(invalid_avro)
    print 'Invalid json:\n\t' + '\n\t'.join(invalid_json)

if '__main__' == __name__:
    main(argv)

猜你在找的JavaScript相关文章