我定义了一个类
class Person(colander.MappingSchema):
name = colander.SchemaNode(colander.String())
age = colander.SchemaNode(colander.Int()
我有一个即将到来的json字符串,可能是:
{
'name': 'keith',
'age': '20',
'friends': [('1', 'jim'), ('2', 'bob'), ('3', 'joe'), ('4', 'fred')],
'phones': [{'location': 'home', 'number': '555-1212'},
{'location': 'work', 'number': '555-8989'}],
...
}
我只想验证name
和age
,我不关心其他字段(而且我不了解所有其他可能的字段)。有没有办法只忽略其他字段来验证这两个字段?
答案 0 :(得分:0)
当你说忽略其他字段时,你的意思是在反序列化之后将它们从结果字典中删除吗?
如果是,则是,这是默认行为。反序列化将自动删除任何不映射到定义的模式的键。如果你这样做
result = Person().deserialise(<your sample dictionary>)
结果vairable只是一个包含键name
和age
的字典。