json如何将None转储为空字符串
·
回答问题
我希望 Python 的None
在 json 中编码为空字符串如何?下面是json.dumps
的默认行为。
>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
我应该覆盖json编码器方法还是有其他方法?
输入数据并不像上面的例子那么简单,在每次请求时,它都可以更改为不同的数据结构。很难编写更改数据结构的函数。
Answers
在您正在编码的对象中,使用空字符串而不是None
。
这是一个未经测试的函数,它遍历一系列嵌套字典以将所有None
值更改为''
。添加对列表和元组的支持留给读者作为练习。 :)
import copy
def scrub(x):
ret = copy.deepcopy(x)
# Handle dictionaries. Scrub all values
if isinstance(x, dict):
for k,v in ret.items():
ret[k] = scrub(v)
# Handle None
if x == None:
ret = ''
# Finished scrubbing
return ret
更多推荐
所有评论(0)