使用Python的JSON模式验证程序

使用Python的JSON模式验证程序,python,json,validation,python-2.7,jsonschema,Python,Json,Validation,Python 2.7,Jsonschema,我已经使用jsonschema模块用python编写了JSON验证器。 它没有正确验证模式。我还使用基于web的工具进行验证 我想做一些类似的事情。我把我的代码放在这里,请指出我误解的地方 from jsonschema import validate import json class jsonSchemaValidator(object): def __init__(self, schema_file): self.__schema_file = open(sche

我已经使用jsonschema模块用python编写了JSON验证器。 它没有正确验证模式。我还使用基于web的工具进行验证

我想做一些类似的事情。我把我的代码放在这里,请指出我误解的地方

from jsonschema import validate
import json

class jsonSchemaValidator(object):
    def __init__(self, schema_file):
        self.__schema_file = open(schema_file)
        self.__json_schema_obj = json.load(self.__schema_file)

    def validate(self, json_file):
        json_data_obj = json.load(open(json_file))

        try:
            validate(json_data_obj, self.__json_schema_obj)
            print 'The JSON is follows the schema'
        except Exception, extraInfo:
            print str(extraInfo)





data_file_path = 'C:\\Users\\LT-BPant\\Desktop\\Del\\Schema\\new schema\\sample_output\\'
schema_path = 'C:\\Users\\LT-BPant\\Desktop\\Del\\Schema\\new schema\\'
def main():
    json_file = data_file_path  + 'report.json'
    schema = schema_path+ 'report_new.schema'
    obj = jsonSchemaValidator(schema)
    obj.validate(json_file)

main()

我已经手动修改了json数据,但是我仍然得到了json数据,该数据遵循oputput模式,而基于web的工具正确地显示了差异。

如果您发布了模式,以及一个未使用该模式验证的示例json,这将非常有用……您正在设置模式变量的json文件路径,以及json_文件变量的模式文件路径。这不应该是另一种情况吗?@dnll我不明白你在说什么?