私はjsonドキュメントの形式でデータ入力を扱っています。これらのドキュメントは特定の形式である必要があります。準拠していない場合は、無視する必要があります。私は現在、jsonドキュメントの形式をチェックするために「ifthens」の乱雑なリストを使用しています。
私はさまざまなpythonjson-schemaライブラリを少し実験してきましたが、これは問題なく機能しますが、スキーマに記述されていないキーを使用してドキュメントを送信できるため、役に立たなくなります。
この例では、例外は発生しませんが、次のようになります。
#!/usr/bin/python
from jsonschema import Validator
checker = Validator()
schema = {
"type" : "object",
"properties" : {
"source" : {
"type" : "object",
"properties" : {
"name" : {"type" : "string" }
}
}
}
}
data ={
"source":{
"name":"blah",
"bad_key":"This data is not allowed according to the schema."
}
}
checker.validate(data,schema)
私の質問は2つあります:
- スキーマ定義で何かを見落としていますか?
- そうでない場合、これにアプローチする別の軽量な方法はありますか?
ありがとう、
ジェイ