使用Python的JSON模式验证程序
我已经使用jsonschema模块用python编写了JSON验证器。 它没有正确验证模式。我还使用基于web的工具进行验证 我想做一些类似的事情。我把我的代码放在这里,请指出我误解的地方使用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
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我不明白你在说什么?