0
JSONレコードが無効である必要があり、Pythonでスキーマを検証するが、そのは真である値を示していない「jsonschema」
import json
import jsonschema
dat='{"TID":"9020","CUR":"USD","DAT1":"t","DAT2":11}'
print type(dat)
def validJson(rowData):
jsonRec=json.loads(rowData)
jsonSc=json.loads('''{ "title": "NCAP", "type": "object", "properties": { "TID" : { "type ": [ "string" ] },"CUR" : { "type ": [ "string" ] , "maxLength" : 3 },"DAT1" : { "type ": [ "number","null"] , "maximum" : 99999999999 },"DAT2" : { "type ": [ "number" ,"null"] , "maximum" : 112 } }, "required": [ "TID", "CUR", "DAT1", "DAT2" ] }''')
val = jsonschema.Draft3Validator(jsonSc).is_valid(jsonRec)
print "is records valid ::"+str(val)
va=jsonschema.validate(jsonRec, jsonSc)
print "records validated "+str(va)
return json.dumps(jsonRec)
print validJson(dat)
それが偽であるべき理由は、その値が "ながらDAT1データ型が数値であるということですT」
それとも、誰もがそれJSONレコードはあなたがあなたのtype
キーワードの後にスペースを持ってそのスキーマ
なぜ無効にする必要があると思いますか? –
http://jsonviewer.stack.hu/を使ってチェックしたところ、それはうまくいきました。 – Salman
@cᴏʟᴅsFなぜFalseであるべきなのかという理由は、値が "t"のDAT1データ型は数字です。 –