pythonjson.dumps()中⽂乱码问题
python 输出⼀串中⽂字符,在控制台上(控制台使⽤UTF-8编码)通过print 可以正常显⽰,但是写⼊到⽂件中之后,中⽂字符都输出成ascii编码了。英⽂字符能正常显⽰可读字符。
原因:json.dumps 序列化时默认使⽤的ascii编码,想输出真正的中⽂需要指定ensure_ascii=False:更深⼊分析,是应为dJSON object 不是单纯的unicode实现,⽽是包含了混合的unicode编码以及已经⽤utf-8编码之后的字符串。
可⾏的⽅式如下:
1import os
2import os.path
3import io
python json字符串转数组4import sys
5import json
6
7 contentByPage = {}
8 contentByPage['document'] = shortName
9 contentByPage['content'] = text
10 contentByPage['pageNumber'] = pageNumber
11 jsonFile = io.open(shortName+"--"+str(pageNumber)+".json",'w', encoding='utf8')
12 jsonFile.write(json.dumps(contentByPage, ensure_ascii=False).decode('utf8'))
13 jsonFile.flush()
14 jsonFile.close()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。