我有以下线在我的代码为什么python json.dumps抱怨ascii解码?
outs = codecs.getwriter('utf-8')(sys.stdout)
# dJSON contains JSON message with non-ASCII chars
outs.write(json.dumps(dJSON,encoding='utf-8', ensure_ascii=False, indent=indent_val))
我得到以下异常:
outs.write(json.dumps(dJSON,encoding='utf-8', ensure_ascii=False, indent=indent_val))
File "/usr/lib/python2.7/json/__init__.py", line 238, in dumps
**kw).encode(obj)
File "/usr/lib/python2.7/json/encoder.py", line 204, in encode
return ''.join(chunks)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 27: ordinal not in range(128)
我通过由json.dumps
语句中指定encoding='utf-8'
,我避免这类问题。为什么我仍然收到错误?
有正火'dJSON'或使用不同的选项的方式在'dumps()'中处理所有3种情况? –
你可能会破解它,但我认为onus是在创建dJSON的代码上 –