0
我正在使用python 2.7 jsonschema驗證方法來驗證對jsonSchema的響應json。Python jsonschema驗證不能按預期工作
我jsonSchema是一本字典如下:
我試圖驗證對這一模式schema = {
"type" : "object",
"properties" : {
"Country": {"type": "object",
"properties":{
"State" : { "type" : "object",
"properties": {
"city": {"type": "object",
"properties":{
"lat":{"type": "string"},
"long": {"type": "string"}
}
},
"StateCode": {"type": "string"},
"StateFlagColor111": {"type": "string"},
"StateCapital": {"type": "string"}
}
}
}
}
}
}
我的回答JSON是
{
"Country": {
"State": {
"City": {
"lat": "PP_4001",
"long": "Invalid GlobalParameters"
},
"StateCode": "2017-06-16 18:15:14.442000",
"StateFlagColor": "400",
"StateCapital": "ERROR"
}
}
}
Python代碼片段來驗證JSON數據對JSON模式是
import jsonschema
from jsonschema import validate
try:
validate(responseDataJson, schema)
print 'good json'
except jsonschema.exceptions.ValidationError as ve:
print 'bad json' + str(ve)
如果您在架構中看到該元素的名稱是StateFlagCo lor111和json數據中的元素是stageFlagColor。我不確定它如何不爲這種驗證拋出異常。它總是通過。
然後,出於好奇,我創建了一個非常基本的jsonSchema,像這樣試圖驗證與上述相同的josn數據對這個新模式。
schema1 = {
"type": "object",
"properties":{
"x1":{"type":"string"}
}
}
jsondata也驗證了這個簡單的模式。
我不知道我在這裏錯過了什麼。我應該如何做這項工作?
謝謝。這按照你的建議工作 – Hary