打印输出
print(json.dumps(data,ensure_ascii=False)) dic = { ‘a’ : 1, ‘b’ : 2, ‘c’ : 3, ‘d’ : 4, ‘e’ : 5 } print json.dumps([‘foo’,dic], sort_keys=True, indent=4, separators=(‘,’, ‘: ‘))
写入到文本
方法:编码格式统一UTF8,读取文件后,fout=open(”test”,”w”),fout.write(json.dumps(data,ensure_ascii=False)+”\n”),这种方式会导致写入的文件中文不能显示。
解决办法,我们需要以指定的编码方式打开输出文件import codecs;codecs . open ( “test” , ‘w’ , ‘utf-8’ ),这样就能够正常写入了。原因貌似是Python内部处理是Unicode,这是打开文件也是Unicode,导致输出不正常。
问题
'ascii' codec can't decode byte的解决方法:
import sys
reload(sys)
sys.setdefaultencoding('utf8')