Python 布尔序列化和区分大小写的RESTAPI';s
我遇到了一个区分大小写的RESTAPI(Pingdom)。Python的Python 布尔序列化和区分大小写的RESTAPI';s,python,python-requests,urllib,Python,Python Requests,Urllib,我遇到了一个区分大小写的RESTAPI(Pingdom)。Python的urllib将所有布尔值序列化为“True”或“False”。然而,API只接受小写的“true”和“false”,这与JSON输出一致 如何应对?我应该在将所有bool发送到请求之前对它们进行预序列化,还是有更干净的方法 def _serializeBooleans(params): for k, v in params.iteritems(): if isinstance(v, bool):
urllib
将所有布尔值序列化为“True”或“False”。然而,API只接受小写的“true”和“false”,这与JSON输出一致
如何应对?我应该在将所有bool发送到请求之前对它们进行预序列化,还是有更干净的方法
def _serializeBooleans(params):
for k, v in params.iteritems():
if isinstance(v, bool):
params[k] = str(v).lower()
除非params
较大,否则返回修改后的副本,而不是对输入进行变异,以防使用相同params
对象的代码的其他部分需要realbool
s
不要依赖于str(v)
返回特定字符串。在代码中显式地放入需要这些特定字符串的文档
def prepare_params(params):
prepared = {}
for name, value in params.iteritems():
if value is True:
value = 'true'
elif value is False:
value = 'false'
prepared[name] = value
return prepared
除非params
较大,否则返回修改后的副本,而不是对输入进行变异,以防使用相同params
对象的代码的其他部分需要realbool
s
不要依赖于str(v)
返回特定字符串。在代码中显式地放入需要这些特定字符串的文档
def prepare_params(params):
prepared = {}
for name, value in params.iteritems():
if value is True:
value = 'true'
elif value is False:
value = 'false'
prepared[name] = value
return prepared
除非params
较大,否则返回修改后的副本,而不是对输入进行变异,以防使用相同params
对象的代码的其他部分需要realbool
s
不要依赖于str(v)
返回特定字符串。在代码中显式地放入需要这些特定字符串的文档
def prepare_params(params):
prepared = {}
for name, value in params.iteritems():
if value is True:
value = 'true'
elif value is False:
value = 'false'
prepared[name] = value
return prepared
除非params
较大,否则返回修改后的副本,而不是对输入进行变异,以防使用相同params
对象的代码的其他部分需要realbool
s
不要依赖于str(v)
返回特定字符串。在代码中显式地放入需要这些特定字符串的文档
def prepare_params(params):
prepared = {}
for name, value in params.iteritems():
if value is True:
value = 'true'
elif value is False:
value = 'false'
prepared[name] = value
return prepared
谢谢你的洞察力!谢谢你的洞察力!谢谢你的洞察力!谢谢你的洞察力!