我有点被困在这里。 我基本上是在试验阶段,我想知道我是否可以继承int ,这样它将完全像你的旧的int ,除了你将能够分配一个“未知”值,在算术运算的情况下,它将采取行动为1。 所以我可以说: 实际上,它与float('inf')工作方式类似,只是我只需要整数加上单个“特殊”值。 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我在反序列化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这只是一个示例方案,不能在此处发布实际方案。
您可以编写自己的SchemaType来接受任何值,但是将其反序列化为float或null。
http://docs.pylonsproject.org/projects/colander/zh-CN/latest/extending.html
class MyFloat(colander.Float):
def deserialize(self, node, cstruct):
if isinstance(cstruct, float):
return cstruct
else:
return null
我没有对此进行测试,但希望您能理解。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.