JSON応答を逆シリアル化する際にザルを使用しています。数値のみを含むように構成されたフィールドがありますが、このフィールドの応答に null または数値以外の値が含まれている場合があり、アプリケーションが無効なエラーをスローします。私のプログラムでそれを処理して、NAなどのデフォルト値をフィールドに与える方法はありますか? 状況を説明する例を次に示します。
これはサンプルです:
class SampleClass(colander.MappingSchema):
name = colander.SchemaNode(colander.String())
testMark = colander.SchemaNode(colander.Float(), missing=None)
class Sample(colander.MappingSchema):
type = colander.SchemaNode(colander.String())
student = colander.SampleStudent()
I want the following JSON to be accepted and not throw error for testMark as null
{
"type":"test",
"student":{
"name":"a name",
"testMark":null
}
}
コードに何か問題がある場合は申し訳ありませんが、Python は初めてです。シナリオを明確にしたことを願っています。テストマークが数字でないときはいつでも、testMarkフィールドにデフォルト値、たとえばNAを与えたいと思います。
PS これは単なるサンプル シナリオです。実際のシナリオをここに投稿することはできません。