【1】使用默认open方式,

需要自己确保需要的编码方式,如下例子中xxx.json为utf8格式,读入后为unicode,需要转为utf8再写文件

name='xxx.json'
	f=open(name,'r')
	of=open(name+'.txt','w')
	for line in f:
		dictdata=json.loads(line)
		out=json.dumps(dictdata,indent=4<span style="color:#3333ff;">, ensure_ascii=False</span>).encode('utf8')
		of.write(out+'\n')
	
	of.close()

对于如上json格式化的例子来说,ensure_ascii也是可以不要的。

【2】使用codecs库

这时候需要指定的是读入或写出的文件的编码。

name='xxx.json'
	f=codecs.open(name,'r',encoding='utf8')
	of=codecs.open(name+'.txt','w', encoding='utf8')
	for line in f:
		dictdata=json.loads(line)
		out=json.dumps(dictdata,indent=4, ensure_ascii=False)
		of.write(out+'\n')
	
	of.close()

这种方式ensure_ascii貌似一定需要的了。