我用下面的代码对照json模式文件验证json文件。为此,我使用jsonschema库,并使用下面的代码段(python2.7)。你知道吗
即使json解析通过了模式验证,流也会转到else块并在那里递增计数器,而不是转到if块。你知道吗
注意:我将一个大的json文件(它有一个对象数组)拆分成一个json文件,其中只有一个数组元素,然后再执行下面的代码。你知道吗
validate_schema = jsonschema.Draft7Validator(json.loads(schema_data))
errors = validate_schema.iter_errors(json.loads(json_rec))
if not errors:
print 'no errors......................'
valid_rec_ctr += 1
else:
invalid_rec_ctr += 1
error_msg = ''
issue_tag = "griefs_" + str(rec_ctr)
record_tag = "record_"+ str(rec_ctr)
grief[record_tag] = json_rec
for error in sorted(errors, key=str):
# print error.message, "at ", error.path
error_msg = error_msg + str(error.message) + " at" + str(error.path) + '^^^'
print '\r\n'
grief[issue_tag] = error_msg
为什么即使验证成功也要创建error iterable对象?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐